【发布时间】:2013-07-04 05:27:25
【问题描述】:
为什么当 0.0 乘以 -1 时我得到 -0.0? 我已将 0.0 作为浮点数
sign=-1;
float output=0.0;
JOptionPane.showmessagedialog(null,0.0*sign);
输出显示为 -0.0 而不是 0
【问题讨论】:
-
这对我来说似乎是正确的行为。你期待会发生什么?
-
我们应该得到 0.0 或 0 对吧?为什么它以-0.0的形式出现?
-
不。您正在体验浮点运算的已知正确行为。
-
我能解释一下为什么浮点数有这样的价值吗?因为在算术中 0.0 *-1 应该是 0.0 rit?
-
-0.0 是 0.0 的负数。为什么你不应该得到这个值?符号是一个单独的位。这意味着对于每个正值都有一个负值。 BTW 1/0.0 是正无穷大,1/-0.0 是负无穷大。
标签: java floating-point multiplication