我知道现在几乎所有的编译器都使用 4 个字节来表示 int,但如果我没记错的话,情况并非总是如此。
我也知道在 Intel 架构上 int 的大小总是与 CPU 匹配。例如,在 8 位 CPU 上,int 是 8 位。
我的问题是,如果有的话,C 标准对 int 的大小有什么规定吗?
我的问题是,如果有的话,C 标准对 int 的大小有什么规定吗?
''plain'' int 对象具有执行环境架构建议的自然大小(大到足以包含头文件 <limits.h> 中定义的 INT_MIN 到 INT_MAX 范围内的任何值)。
和
它们的实现定义的值在幅度(绝对值)上应等于或大于所示值,并具有相同的符号。
— int INT_MIN -32767 类型对象的最小值 // ?(2^15 ? 1)
— int 类型对象的最大值 INT_MAX +32767 // 2^15 ? 1
所以你不能int在兼容的实现上有 8 位。