没有人回答你的实际问题,也许除了 AProgrammer。
C/C++ 标准定义为 Griwes 所描述的。这允许在编译器供应商可以定义对计算机体系结构最方便的大小的情况下实现 C 和 C++ 语言。有一段时间,(对于 Windows 3.1 及之前,即 Windows 95 之前),Windows 的 C 代码具有 16 位 int,而许多 UNIX 平台,如 Solaris、HPUX 和 AIX 具有 32 位 int。
但是,现代微型计算机(自 386 起)具有完整的 32 位寄存器,并且与 32 位对齐的寻址存储器比访问 16 位增量要快得多。因此,使用 32 位 int 的代码比使用 16 位 int 的代码效率更高,尤其是对于 int 数组。
要在 32 位寄存器中模拟 16 位整数,还必须在第 16 位而不是第 32 位溢出。因此,使用 32 位 int 会更容易,即使您只有 32 位可以长期使用。