-1

我依稀记得读过 C++ 标准中的一节,其中说明了整数类型的最小宽度要求。我再也找不到这个了。我能找到的最接近的是<limits.h>C 标准中的描述。

我在哪里可以找到整数类型的最小宽度?

4

1 回答 1

2

标准中定义的最小范围要求是(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
于 2013-09-16T16:52:44.343 回答