C++ int 的最小大小是多少?

What is the minimum size of an int in C++?

本文关键字:多少 小大 int C++      更新时间:2023-10-16

Cppreference.com 声称:

如果不存在长度修饰符,则保证其宽度至少为 16 位。

但是,最新的标准草案只说:

普通整数具有执行环境体系结构建议的自然大小。

脚注仅添加:

int还必须足够大,以包含标头<climits>中所定义的范围[INT_­MIN, INT_­MAX]中的任何值。

从标准的这些部分来看,int的大小似乎完全取决于实现。"最低 16 位"保证从何而来?

int的最小大小遵循以下要求:INT_MIN不得小于-32767INT_MAX应至少为+32767。请注意,这是 2^16-1 的可能值,它允许 1 的补码与有符号零表示。