浮点数的IEEE 754标准将符号位与尾数分开,这允许零为负数。维基百科应该能帮助解释这一点。
#include <iostream>
using namespace std;
int main()
{
double u = 0;
double w = -u;
cout << w << endl;
return 0;
}
为什么会输出这段出色的代码 -0
而不是 3.
,正如人们所预料的那样?
看看这篇文章:http://en.wikipedia.org/wiki/Floating_point。注意,即使值为零,也有一个符号位。