IDL中的打印错误:32700 + 99

时间:2016-04-11 07:23:06

标签: idl-programming-language

如果我在IDL中打印32700 + 99,它会给我-32737但33700.0 + 99给我33799.0。为什么32700 + 99的IDL打印错误?当然是32700. + 99给出,32799.0,正确答案。

1 个答案:

答案 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