gpt4 book ai didi

c++ - C++ 中 float 的 Setprecision()?

转载 作者:太空宇宙 更新时间:2023-11-04 15:28:07 25 4
gpt4 key购买 nike

在 C++ 中,为 float 提供 setprecision() 后显示的随机数字是多少?

注意:设置固定标志后。

例子:

float f1=3.14;
cout < < fixed<<setprecision(10)<<f1<<endl;

我们得到剩余 7 位数字的随机数?但是在 double 中就不一样了。

最佳答案

需要注意的两点:

  1. float 以二进制形式存储。
  2. float 最多有 24 个有效位。这相当于 7.22 位有效数字。

因此,对于您的计算机而言,没有 3.14 这样的数字。使用 float 可以获得的最接近值是 3.1400001049041748046875。

double 有 53 个有效位(~15.95 个有效数字),所以你得到一个更准确的近似值,3.140000000000000124344978758017532527446746826171875。 “噪音”数字不会出现在 setprecision(10) 中,但会出现在 setprecision(17) 或更高版本中。

关于c++ - C++ 中 float 的 Setprecision()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3736992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com