我正在使用 IDL 进行一些图像处理,它需要高精度。但是当我调试同事的程序时,我发现了一些奇怪的地方:
IDL> lat,y_res
45.749001
0.00026999999
IDL> lat - findgen(10)*y_res + y_res * 0.5 + findgen(10)*y_res + y_res * 0.5
45.749268 45.749268 45.749268 45.749268 ... 45.749268
IDL> lat - (findgen(10)*y_res + y_res * 0.5) + (findgen(10)*y_res + y_res * 0.5)
45.749001 45.749001 45.749001 45.749001 ...
就像上面的代码,我不知道为什么两个结果有不同的值?我的 IDL 版本是 8.3,带有 ENVI 包。