Sno*_*ent 1 c++ floating-point infinity
对于双重或浮动,
1. -inf < inf == true
2. inf + inf == inf
3. -inf - inf == -inf
4. positive / 0.0 == inf
5. negative / 0.0 == -inf
6. any real number < inf == true
7. -inf < any real number == true
这个陈述是真的吗?
我们不知道(inf < inf),但我们可以肯定它不会抛出任何例外.
您的问题中的所有表达式1-7在true由实现IEEE 754规则的编译器编译时评估.它们都不依赖于舍入模式.对于许多人来说,这仅仅是因为<并且==是精确的操作.此外,-inf - inf总是-inf(即,在所有舍入模式中),positive / 0.0始终是+inf,并且negative / 0.0始终如此-inf.
在下面的6.和7.中,通常将您所指的值称为"有限"而不是"真实".
任何实数<inf == true
-inf <任何实数== true
inf < inf总是评估为假.这与您问题中的所有属性1-7一样,应该被视为惯例问题.决定使自己inf平等,因此它并不严格地低于自身.所有这些选择旨在使IEEE 754算法在实践中尽可能有用.换句话说,目的是尽可能多地实现算法,而不必明确检查这些特殊值,并且计算在发生时继续有意义(适用时).当特殊值没有意义时,当然总是有可能对它们进行测试.
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |