我知道,这个问题似乎很奇怪.程序员有时会想太多.请继续阅读......
在CI中使用signed和unsigned整数很多.我喜欢这样一个事实:如果我执行诸如将有符号整数分配给无符号变量之类的操作,编译器会发出警告.如果我将带符号与无符号整数进行比较,我会得到警告.
我喜欢这些警告.他们帮助我保持我的代码正确.
为什么我们不能为花车提供同样的奢侈品?平方根绝对不会返回负数.还有其他地方负浮动值没有意义.无符号浮点数的完美候选者.
顺便说一句 - 我并不是真的热衷于通过从浮点数中移除符号位来获得的单一额外精度.float因为他们现在对我非常满意.我只想将浮点数标记为无符号,并获得与整数相同的警告.
我不知道任何支持无符号浮点数的编程语言.
知道为什么他们不存在吗?
我知道x87 FPU没有处理无符号浮点数的指令.让我们使用带符号的浮点指令.滥用(例如,低于零)可以被认为是未定义的行为,就像未定义有符号整数的溢出一样.
可能重复:
为什么C没有无符号浮点数?
问题可能是非常基本的,可能很早就回答了,但我想了解为什么C++没有无符号浮点类型,即使浮点文字可以是有符号或无符号的.
$ 3.9.1/8-"有三种浮点类型:float,double和long double."