我依稀记得读过 C++ 标准中的一节,其中说明了整数类型的最小宽度要求。我再也找不到这个了。我能找到的最接近的是<limits.h>
C 标准中的描述。
我在哪里可以找到整数类型的最小宽度?
标准中定义的最小范围要求是(3.9.1 - 基本类型):
声明为字符 (char) 的对象应足够大以存储实现的基本字符集的任何成员。
和
有五种标准有符号整数类型:“signed char”、“short int”、“int”、“long int”和“long long int”。在此列表中,每种类型提供的存储空间至少与列表中它前面的类型一样多。 也可能有实现定义的扩展有符号整数类型。标准和扩展的有符号整数类型统称为有符号整数类型。普通整数具有执行环境44的架构所建议的自然大小;提供其他有符号整数类型以满足特殊需要。
本页脚注 44 说:
44) 即大到足以包含 INT_MIN 和 INT_MAX 范围内的任何值,如 header 中所定义
<climits>
。
5.2.4.2.1 中的 C 标准说:
// minimum value for an object of type int
INT_MIN -32767 // −(215 − 1)
// — maximum value for an object of type int
INT_MAX +32767 // 215 − 1