在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/

10-11 17:53