字长,字符大小,整数大小和字节之间的关系

yes*_*aaj 0 c++ int byte cpu-word

C++中字长,字符大小,整数大小和字节之间的关系是什么?

dmc*_*kee 7

该标准要求某些类型具有最小大小(short至少为16位,int至少为16位等),并且某些类型的组是有序的(sizeof(int)> = sizeof(short)> = sizeof(char)).


Mic*_*urr 5

在C++中,char必须足够大才能在实现的基本字符集中保存任何字符.

int具有"执行环境架构所建议的自然大小".注意,这意味着,一个int不需要在尺寸至少32位.实现int16位是常见的(想想嵌入式MS-DOS).

以下内容摘自C++ 98和C99标准的各个部分:

  • long int 必须至少与...一样大 int
  • int 必须至少与...一样大 short
  • short 必须至少与...一样大 char

请注意,它们可以都是相同的大小.

另外(假设有两个补码实现):

  • long int 必须至少为32位
  • int 必须至少为16位
  • short 必须至少为16位
  • char 必须至少为8位