我知道,这个问题似乎很奇怪。程序员有时会想太多。请继续阅读...
在CI中使用signed
和unsigned
整数很多。我喜欢这样的事实,即编译器会在执行诸如将带符号的整数分配给无符号的变量之类的操作时警告我。如果将带符号整数与无符号整数进行比较,则会收到警告。
我喜欢这些警告。他们帮助我保持我的代码正确。
为什么我们没有同样的花车奢侈品?平方根绝对不会返回负数。在其他地方,负浮点值也没有意义。无符号浮动的完美候选人。
顺便说一句-我不太希望通过从浮点数中删除符号位来获得额外的精度。我对float
s 非常满意,因为它们现在是。我只想有时将浮点数标记为无符号,并得到与整数相同的警告。
我不知道任何支持无符号浮点数的编程语言。
知道为什么它们不存在吗?
编辑:
我知道x87 FPU没有处理未签名浮点数的指令。让我们只使用签名的float指令。误用(例如,低于零)可以视为未定义行为,就像带符号整数的溢出未定义一样。