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