最近碰到一个很头疼的问题,有两个程序,是迭代计算的,除去其中一个程序在device端有print显示之外,两个程序完全一致。照理说print只是显示,不影响计算结果,但我在运行后,发现迭代多次后的两个结果不一致。经过仔细分析,发现在迭代10几次后,有个双精度量的计算结果在两个程序里面出现了非常细微的差别,这种差别开始于第16位有效数字,原本双精度的有效位数有限,这种差别可以接受,但是继续迭代之后发现差别在累加,到最后结果差别较大。我不知道是我哪里编程出了问题,求大神指导!
PS:同一个程序多次运行的结果都是一样的,只是两个程序之间有差别。
这个就是所谓的累积误差吧,你去百度下这个词看看,应该不是程序的问题