71

为什么 C++ 不支持无符号双精度语法?

4

3 回答 3

73

因为典型的浮点格式不支持无符号数。例如,请参阅此 IEEE 754 格式列表

添加常见硬件不支持的数字格式只会使编译器编写者的生活变得困难,并且可能不值得付出努力。

于 2010-03-26T11:59:13.563 回答
18

C++ 不支持无符号浮点类型,因为大多数浮点硬件不支持无符号浮点类型。一些显卡确实可以使用无符号浮点,但它通常是内部的,对程序或用户来说并不真正可见。

于 2010-03-26T11:59:20.457 回答
7

无符号整数获得了额外的精度,并且与有符号整数的位语义略有不同。浮点数和双精度数总是为符号保留一点(在大多数硬件上)并且没有按位语义,因此拥有无符号实数类型并没有真正的好处。

于 2010-03-26T12:01:11.263 回答