浮点精度(float、double)运算不精确的原因 您所在的位置:网站首页 java的float后面不接f的情况 浮点精度(float、double)运算不精确的原因

浮点精度(float、double)运算不精确的原因

#浮点精度(float、double)运算不精确的原因| 来源: 网络整理| 查看: 265

为什么浮点精度运算会有问题

我们平常使用的编程语言大多都有一个问题——浮点型精度运算会不准确。比如

double num = 0.1 + 0.1 + 0.1; // 输出结果为 0.30000000000000004 double num2 = 0.65 - 0.6; // 输出结果为 0.05000000000000004

笔者在测试的时候发现 C/C++ 竟然不会出现这种问题,我最初以为是编译器优化,把这个问题解决了。但是 C/C++ 如果能解决其他语言为什么不跟进?根据这个问题的产生原因来看,编译器优化解决这个问题逻辑不通。后来发现是打印的方法有问题,打印输出方法会四舍五入。使用 printf("%0.17f\n", num); 以及 cout



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有