在C ++中,
给定浮点数setprecision()后显示的随机数字是什么?
注意:设置固定标志后。
例:
float f1=3.14;
cout < < fixed<<setprecision(10)<<f1<<endl;
我们得到剩下的7位数字的随机数?但这不是双重情况。
最佳答案
有两件事要注意:float
以二进制形式存储。float
最多具有24个有效位。这等效于7.22个有效数字。
因此,对于您的计算机,没有3.14这样的数字。使用float
可获得的最接近值为3.1400001049041748046875。double
具有53个有效位(〜15.95个有效数字),因此您可以得到更精确的近似值3.140000000000000124344978758017532527446746826171875。 “噪声”数字不会显示在setprecision(10)
上,而会显示在setprecision(17)
或更高版本上。
关于c++ - setprecision()用于C++中的浮点数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3736992/