【发布时间】:2014-02-01 17:57:29
【问题描述】:
我听说过很多关于这个主题的相互矛盾的信息,但总的来说,我听说 Int 类型应该与平台字长有关,例如在 32 位机器中,Int 有 4 个字节。
除了我小时候开始在 DOS 上编码时,我认为我的编译器已经使用 32 位 Int,即使目标是需要不断使用短裤的 16 位处理器(如 286)...
今天我将我的一个程序编译为 64 位只是为了好玩,而 Int 仍然以 32 位结束(和短的 16 位,我没有测试过长)。
我知道 C 标准定义了这个:short <= int <= long 但我很好奇,发生了什么?为什么每个人都决定为 int 使用一些任意大小?
【问题讨论】:
-
许多程序假定并依赖于 32 位宽
ints。这可能是 32bints 保留在 64b 架构上的原因之一。
标签: c