如果我在IDL中打印32700 + 99,它会给我-32737但33700.0 + 99给我33799.0。为什么32700 + 99的IDL打印错误?当然是32700. + 99给出,32799.0,正确答案。
答案 0 :(得分:1)
IDL中的默认整数是16位,因此最大可表达整数是32767。
IDL> print, 32767
32767
IDL> print, 32767 + 1
-32768
浮点数当然可以处理此范围内的值。要获得32位整数,请使用“L”后缀:
IDL> print, 32767L
32767
IDL> print, 32767L + 1
32768