2016-04-11 9 views
0

Wenn ich 32700 + 99 in IDL drucke, gibt es mir -32737 aber 33700.0 + 99 gibt mir 33799.0. Warum ist IDL für 32700 + 99 falsch gedruckt? Natürlich 32700. + 99 ergibt, 32799.0, richtige Antwort.Druckfehler in IDL: 32700 + 99

Antwort

1

Die Standard-Ganzzahl in IDL ist 16 Bit, so dass die größte Ganzzahl ist exprimierbaren 32767.

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

Floats, natürlich, Werte in diesem Bereich verarbeiten kann. Um eine 32-Bit-Ganzzahl zu erhalten, verwenden Sie das Suffix "L":

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