浮点类型
浮点类型说明符分为以下类别:
- 实际浮点类型
- 复杂浮点类型
实际浮点类型
通用或二进制浮点类型由以下内容组成:
- 浮点
- 双精度值
- 长双
十进制浮点类型包括以下内容:- _Decimal32
- _Decimal64
- _Decimal128

下表给出了实际浮点类型的量级范围。
如果浮点常量太大或太小,那么结果未由语言定义。
| 类型 | 范围 |
|---|---|
| 浮点 | 大约 1.2-38 到 3.438 |
| 双,长双 | 大约 2.2-308 到 1.8308 |
| _Decimal32 | 0.000001-95 到 9.99999996 |
| _Decimal64 | 0.000000000000001-383 到 9.999999999999999384 |
| _Decimal128 | 0.000000000000000000000000000000001-6143 到 9.9999999999999999999999999999999996144 |
简单浮点声明的声明器是标识。 使用浮点常量或求值为整数或浮点数的变量或表达式初始化简单浮点变量。
十进制浮点类型可以与二进制浮点类型支持的任何运算符一起使用。 但是,除非使用显式转换,否则不能在算术表达式中混合十进制浮点类型与通用浮点类型或复杂浮点类型。 隐式转换适用如下:- 始终支持十进制浮点类型之间的隐式转换。
- 始终支持十进制浮点类型与整数类型之间的隐式转换。
- 有条件地支持十进制浮点类型与通用浮点类型之间的隐式转换。 请参阅 浮点转换 以获取详细信息。

复杂浮点类型
C99 标准中引入了复杂浮点类型。
XL C/C++ 编译器作为 IBM 扩展支持此功能。
复杂的浮点类型说明符如下:
XL C/C++ 编译器作为 IBM 扩展支持此功能。
复杂的浮点类型说明符如下:- 浮点型复杂
- 双精度型复杂
- 长双精度型复杂
复杂类型的表示和对齐要求与包含相应实类型的两个元素的数组类型相同。 实部等于第一元素; 虚部等于第二元素。
平等和不平等性运算符具有与实际类型相同的行为。 任何关系运算符都不能具有复杂类型作为操作数。
作为 C99 和 C++03 的扩展,复数也可以作为一元运算符 ++ (递增)、 -- (递减)和 ~ (按位取反)的操作数。