浮点精度(float、double)运算不精确的原因 | 您所在的位置:网站首页 › java的float后面不接f的情况 › 浮点精度(float、double)运算不精确的原因 |
为什么浮点精度运算会有问题
我们平常使用的编程语言大多都有一个问题——浮点型精度运算会不准确。比如 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 实验室设备网 版权所有 |