当前位置: 首页 > news >正文

C/C++ 整数类型的长度

参考 cppreference.cn

在某些语言中,整数类型的长度是固定的,如java中

  • char 8
  • short 16
  • int 32
  • long 64

可是C/C++ 与机器相关,整数类型长度与平台有关
先可以记一个简单的
按照C标准:

  • char >= 8
  • short >= 16
  • int >= 16
  • long >= 32
  • long long >= 64

在C标准中同平台一定保证
1 == sizeof(char) ≤ sizeof(short) ≤ sizeof(int) ≤ sizeof(long) ≤ sizeof(long long)

而且C/C++ 的整数类型定义的形式也很多,现在给出长度等价表格

  • char
    char , signed char , unsigned char
  • short
    short , signed short , unsigned short , short int , signed short int, unsigned short int
  • int
    int , signed int , unsigned int , signed , unsigned
  • long
    long , signed long , unsigned long , long int , signed long int, unsigned long int
  • long long
    long long , signed long long , unsigned long long, long long int , signed long long int, unsigned long long int

现在引入C整数类型数据模型的概念
数据模型确定整数类型的大小,不同的平台使用的数据模型不同
列举4种常用的数据模型

  • 32 位系统
    • LP32 或 2/4/4 ( int 是 16 位,long 和指针是 32 位)
      Win16 API
    • ILP32 或 4/4/4 ( int、long 和指针是 32 位);
      Win32 API
      Unix 和类 Unix 系统 (Linux, Mac OS X)
  • 64 位系统
    • LLP64 或 4/4/8 ( int 和 long 是 32 位,指针是 64 位)
      Win64 API
    • LP64 或 4/8/8 ( int 是 32 位,long 和指针是 64 位)
      Unix 和类 Unix 系统 (Linux, Mac OS X)
http://www.dtcms.com/a/203168.html

相关文章:

  • 一道并发的面试题,控制并发数量
  • Baklib构建AI就绪型知识中台实践
  • Python中列表相关操作
  • PIL库的图像增强函数
  • Docker中部署Alertmanager
  • 从代码学习数学优化算法 - 拉格朗日松弛 Python版
  • 查看数据库占用磁盘空间的方法
  • JAVA面向对象——对象和类的基本语法
  • 第一章走进java世界
  • 数据库实验——备份与恢复
  • JavaScript 深拷贝:从基础到实践的全面指南
  • 2025年- H38-Lc146 --142.环形链表(快慢指针,快2慢1,快1慢1)--Java版
  • 前端流行框架Vue3教程:21. 插槽(3)
  • C语言| 指针变量的初始化
  • 如何测试北斗卫星通讯终端的性能?
  • DEBUG:Lombok 失效
  • C++类与对象--6 特性二:继承
  • std::vector<>.emplace_back
  • flutter设置最大高度,超过最大高度时滑动显示
  • 使用frp内网穿透本地的虚拟机
  • spring event事件(四)内部事件(1)ApplicationReadyEvent
  • 介绍Buildroot
  • 2025ICPC南昌邀请赛题解
  • 记录学习的第三十六天
  • ZYNQ Cache一致性问题解析与实战:从原理到创新优化
  • PEFT简介及微调大模型DeepSeek-R1-Distill-Qwen-1.5B
  • mysql不能聚合之数据清洗逗号
  • 第7天-Python+PyEcharts实现股票分时图实战教程
  • OD 算法题 B卷 【需要打开多少监视器】
  • 算法打卡第一天