2016-04-11 13 views
0

IDLで32700 + 99を印刷すると、-32737が表示されますが、33700.0 + 99では33799.0が表示されます。 32700 + 99のIDL印刷が間違っているのはなぜですか?もちろん、32700. + 99は32799.0の正解です。IDLの印刷エラー:32700 + 99

答えて

1

IDLのデフォルトの整数16ビットであり、最大発現の整数32767

IDL> print, 32767 
    32767 
IDL> print, 32767 + 1 
    -32768 

フロートであるので、当然のことながら、この範囲内の値を扱うことができます。 32ビット整数を取得するには、「L」という接尾辞を使用します。

IDL> print, 32767L 
     32767 
IDL> print, 32767L + 1 
     32768