16

引用我正在读的书:

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

我对第三点有问题。这些“扩展整数类型”是什么?有什么例子吗?

4

2 回答 2

4

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

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

于 2012-11-15T18:14:35.697 回答
3

扩展整数类型的一个例子是__int64MS Visual C 定义的 64 位有符号整数类型。虽然这种类型显然是整数类型,但在旧版本的 MSVC 中,它不能以intlong int、 或的形式获得long long int。(MSVClong long int同时增加了对的支持。)

于 2012-11-15T18:42:24.180 回答