我对任何浮点数的算术运算都是由 IEEE 浮点标准明确定义的吗?如果是的话,只是出于好奇,什么是(+0)+(-0)
?有没有办法在实践中用 C++ 或其他常用的编程语言检查这些事情?
有符号零的算术 IEEE 754 规则规定:+0.0 + -0.0
取决于舍入模式。在默认舍入模式下,它将是+0.0
。当向-∞舍入时,将是-0.0
.
您可以在 C++ 中检查这一点,如下所示:
#include <iostream>
int main() {
std::cout << "+0.0 + +0.0 == " << +0.0 + +0.0 << std::endl;
std::cout << "+0.0 + -0.0 == " << +0.0 + -0.0 << std::endl;
std::cout << "-0.0 + +0.0 == " << -0.0 + +0.0 << std::endl;
std::cout << "-0.0 + -0.0 == " << -0.0 + -0.0 << std::endl;
return 0;
}
Output http://ideone.com/yD4HVh:
+0.0 + +0.0 == 0
+0.0 + -0.0 == 0
-0.0 + +0.0 == 0
-0.0 + -0.0 == -0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)