什么是“扩展整数类型”?

时间:2012-11-15 18:11:49

标签: c gcc c99

引用我正在阅读的书:

  
      
  1. signed char, signed short int, signed int, signed long int, signed long long int被称为标准有符号整数类型
  2.   
  3. unsigned char, unsinged short int, unsigned int, unsigned long int, unsinged long long int, _Bool被称为标准无符号   整数类型
  4.   
  5. 除了标准整数类型之外,C99标准还允许实现定义的扩展整数类型,包括签名和   无符号。例如,编译器可能提供有符号和无符号   128位整数类型。
  6.   

我对第3点有疑问。这些“扩展整数类型”是什么?任何例子?

2 个答案:

答案 0 :(得分:3)

扩展整数类型是作为扩展提供的特定于实现的整数类型。因为几乎关于此类扩展的所有内容都是实现定义的,所以标准对它们不能说太多。但是,C ++ 09提议提供了一个框架,用于以不干扰标准兼容程序行为的方式实现此类扩展。

你应该参考this,它涵盖了有关扩展整数类型的所有内容。

答案 1 :(得分:3)

扩展整数类型的一个示例是由MS Visual C定义的__int64 64位有符号整数类型。虽然这种类型显然是一个整数类型,但在旧版本的MSVC中,它无法获得{ {1}},intlong int。 (MSVC在此期间增加了对long long int的支持。)