为什么C ++不支持无符号双重语法?
答案 0 :(得分:67)
因为典型的浮点格式不支持无符号数。例如,请参阅this list of IEEE 754 formats。
添加普通硬件不支持的数字格式只会让编译器编写者感到生活困难,而且可能不值得付出努力。
答案 1 :(得分:14)
C ++不支持无符号浮点类型,因为大多数浮点硬件不支持无符号浮点类型。有些图形卡可以使用无符号浮点数,但它通常是内部的,对程序或用户来说并不是真的可见。
答案 2 :(得分:7)
无符号整数获得额外的精度,并且对于有符号整数具有略微不同的逐位语义。浮点数和双精度数总是为符号保留一点(在大多数硬件上)并且没有按位语义,因此使用无符号实数类型没有任何实际好处。