1900P 2023-02-06 11:20 采纳率: 100%
浏览 51
已结题

极小数的计算结果不一致,如何解决?(语言-c++)

tex=293.9302250307
cpa1.0445 + tex*(-3.4342e-4 + tex*(8.1524e-7 - tex*3.7677-10))

这是原计算式子
计算结果为: 1.0044233901160149

式子拆开分部计算时

n18.1524e-7 - tex*3.7677-10;
n2=tex*n1;
n3=-3.4342e-4 + n2;
n4=tex*n3;
cpa=1.0445+n4;

计算结果为: 1.0044389412119084

为什么最终的计算会有差距呢

由于这段计算需要进行多次循环,误差最后会累积到一个无法接受的程度,本人学习c不久,希望指点一下,感谢!

  • 写回答

5条回答 默认 最新

  • CodeBytes 2023-02-06 11:46
    关注

    该回答引用ChatGPT
    请参考下面的解决方案,如果有帮助,还请点击 “采纳” 感谢支持!

    首先,两种方法都是进行数值计算,因此在计算过程中可能会出现一些精度误差。其次,拆开计算的方法可能导致变量类型的不同,从而导致结果的不同。最后,在计算过程中有不精确的四舍五入操作,这也可能导致误差的产生。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月6日

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题