TIA Scl - dword_to_dint

plc_typ

Level-2
Beiträge
215
Reaktionspunkte
30
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
ich bin neu im Gebiet SCL, da einer meiner Kunden aber vermehrt 1200er einsetzt muss ich mich nun auch in
diese Materie rein denken.

Mein Problem ist folgendes, ich möchte ein Dword in ein Dint umwandeln. Wenn mein Dword z.B. den Wert 16#BD2C 920F
sollte das Ergebnis 3173814799 sein, stattdessen kommt aber -1121152497 heraus, das entspricht 16#FFFF FFFF BD2C 920F.
Woher kommt das und wie kann ich es verhindern? Bin ratlos :confused:.


Gruß Florian
 
Der Wertebereich für den Datentyp DInt ist -(2^31) bis +(2^31) -1. D.h. die Zahl 3173814799 ist mit einem DInt nicht darstellbar.

Bei einer 1200er könntest du einen vorzeichenlosen 32-Bit Datentyp verwenden, das wäre UDInt, mit dem Wertebereich 0 bis (2^32)-1.
 
Ouh, da habe ich nicht mehr drauf geachtet, mal wieder ein beweiß dafür dass man nach 12h Feierabend machen sollte :ROFLMAO:.
Funktioniert nun alles wie gewollt, danke für die Hilfe!
 
Zurück
Oben