我本来在做其他事情,但所有的输出都是0,所以我做了这个极简示例,但输出仍然是0。
#include <iostream>
int main(int argc, char** argv)
{
double f=3/5;
std::cout << f;
return 0;
}
我错过了什么?
0xCp-2 / 5
不应该被认真对待,这很明显!但是关于使用3.0:这是一种品味问题。我个人讨厌以这种方式编写代码,因为在科学中,小数点后有限的数字暗示了测量值的某种不准确性等等。所以当我看到3.0时,我总是想到3±.05,而3.0/5.0对我来说是.6±.01。这不是双精度!我更喜欢使用3./5
。 - leftaroundabout