在C ++中无符号双精度?

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

因为典型的浮点格式不支持无符号数字。 例如,参见这个IEEE 754格式的列表 。

添加一个不被普通硬件支持的数字格式只会使编译器编写者难以应付,可能不值得花费这些努力。

C ++不支持无符号浮点types,因为大多数浮点硬件不支持无符号浮点types。 一些graphics卡可以处理无符号浮点数,但通常是内部的,对于程序或用户来说并不是真正可见的。

无符号整数获得了一些额外的精度,并且对于有符号整数具有略微不同的按位语义。 浮点运算和双精度运算总是为符号保留一点(在大多数硬件上),并且没有位方式的语义,所以没有无符号的真实types没有真正的好处。