以下是引用liuxd6909在2019/7/16 21:19:53的发言:
1、首先模拟原程序,发现仿真结果与实际结果一样,2号泵累计运行时间(单位为小时)累加到4660.338小时时已看不到累加了;
2、后试着用双整数指令进行累加和数制转换输出结果直接就是整数4660,不行;
3、最后试着用双整数累加,累加结果转换为实数后再用浮点数除法运算指令除以3600进行单位转换,结果终于可以对2号净凝泵运行时间正确计时了,说明系统程序确实存在缺陷。
下午去另一机组核实,结果发现也存在相同的问题,时间已经很久了,没太有人注意到这个问题而已。
由于实数的小数位数为6位,使用实数时行累加运算,要特别注意一个问题就是 大数加小数 的四舍五入的问题,很容易加不到上限就已经停止计数了。
[此贴子已经被作者于2019/7/16 21:22:46编辑过]
--------------------
可惜我不是你这版主,要不给你加分加精.
除了题目过于简单,不能吸引人进来以外.内容相当实在.有疑问,有贴图,有数据,有分析,有结论.
楼主实在了不起!
深入分析一下舍入引起的小截断,把浮点的最大精度正是你说的2^24=16777216比较一下.