Wandeln von DINT nach INT

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo !
Kann mir bitte mal jemand helfen:

Muss einen DINT Wert zu einem INT Wert wandeln, habe bisher aber noch keine Funktion gefunden die dieses ermöglicht.

Oder wie bekomme ich ansonsten aus einem Real wert einen Integer wert ??

Dankeschön
Elektrofranz
 
Wenn sichergestellt ist, dass der Wertebereich der DINT von -32768 bis +32767 geht, kann die DINT direkt als INT verwendet werden. Ansonsten macht eine Wandlung sowieso keinen Sinn :wink: .
Grund: Positive Zahlen haben die oberen Bits alle als 0, d.h. das HighWord ist komplett 0 und kann somit ignoriert werden. Bei negativen Zahlen sind die oberen Bits alle 1 (und Bit 15 = Vorzeichen natürlich auch) und kann somit auch ignoriert werden. Einfach mal die Binärrepräsentation der Zahlen anschauen.
Z.B.: -10 dez
XXXX XXXX XXXX XXXX 1111 1111 1111 0110 als INT
1111 1111 1111 1111 1111 1111 1111 0110 als DINT
Bei der Wandlung von INT nach DINT muss auf jeden Fall wegen der Vorzeichenerweiterung ITD verwendet werden.
 
Zurück
Oben