有些实数在计算机内存储是不精确的,如何验证?

有些实数在计算机内存储是不精确的,如何验证?,第1张

有些实数在计算机内存储是不精确的,如何验证?

我们列出0-10,这11个数的开平方b,b*b,比较一下结果。

 

并且我们保留到小数点后10位和20位。

#include
using namespace std;

int main()
{
    for(int i=0;i<11;i++)
    {
        double b;
        b=sqrt(i);
        //cout<         printf("%.10lf %.20lf %dn",b,b*b,i);        
    }    
}

 可以看出,2、3、5、6、7、8、10,这些数,开方后得到b,b*b的结果也不等于开方前的数据。

说明b在内存中已经不精确了。可能是无理数,做截断处理了。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5670293.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存