整数有多宽

时间:2013-09-16 16:49:22

标签: c++ c++11

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

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

1 个答案:

答案 0 :(得分:2)

标准中定义的最小范围要求是(3.9.1 - 基本类型):

  

声明为字符(char)的对象应足够大,以存储实现的基本成员   字符集。

  

有五种标准的有符号整数类型:“signed char”,“short int”,“int”,“long int”和“long”   long int“。在此列表中,每种类型提供至少与列表中前面的存储一样多的存储空间。   也可能存在实现定义的扩展有符号整数类型。标准和扩展签名   整数类型统称为有符号整数类型。 普通in具有自然尺寸   执行环境的架构 44 ;提供其他有符号整数类型以满足特殊要求   需要。

本页脚注44说:

  

44)即大到足以包含INT_MIN和INT_MAX范围内的任何值,如标题<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