c - int 变量的大小

标签 c int 32bit-64bit processor

int的大小是怎么决定的?

int 的大小是否真的取决于处理器。对于 32 位机器,它将是 32 位,对于 16 位机器,它将是 16。

在我的机器上它显示为 32 位,尽管该机器安装了 64 位处理器和 64 位 Ubuntu。

最佳答案

这取决于实现。 C 标准唯一保证的是

sizeof(char) == 1

sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)

还有一些可表示的类型的最小值,这意味着 char 至少有 8 位长,int 至少有 16 位,等等。

因此它必须由实现(编译器、操作系统...)决定并记录在案。

关于c - int 变量的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12739693/

相关文章:

c - 同一 block 逻辑的不同机器代码

使用父宏的右括号的 C 预处理器

c - 两个文件描述符都关闭后,Linux 会自动释放未命名的管道吗?

python-2.7 - 如何在 Pandas 中使用 base 10 错误修复 int() 的无效文字

objective-c - 在 Objective C (Mac OS X) 中检测 CPU 架构(32 位/64 位)运行时

c - 二维矩阵不存储值,所有值显示为 0

python - 什么时候使用 trunc() 而不是 int() 将浮点型数字转换为整数更好?

ios - 整数不能做数学吗?

python - 在 Windows 机器上并行处理 32 位和 64 位 Python 安装的标准方法是什么?

android - 上传 .aab 文件后,它没有显示基于移动架构的应用程序大小