Step 7 Rechnen mit 32bit UInt

Zuviel Werbung?
-> Hier kostenlos registrieren
versuche verzweifelt in STEP 7 irgendwie eine 32 Bit unsigned integer Berechnung hinzubekommen.
Hintergrund: habe einen fortlaufenden Zähler UInt32 (über Bus). Er läuft leider wirklich bis Max UInt32 (und dann über). Aufgabe ist aus zwei Werten die Differenz berechnen, -> Position/Weg. Gibt es dafür irgendeinen Trick?

Dafür braucht es keinen Trick.
-D rechnet mit dem Zweierkomplement. Das ist bitweise identisch mit einer unsigned int 32Bit Subtraktion.

Code:
 L DW#16#FFFFFFFF
 [FONT=Courier]L DW#16#FFFFFF00[/FONT]
 [FONT=Courier]-D
ergibt [FONT=Courier]DW#16#FF (unsigned 255, signed 255)[/FONT]
[/FONT]


Code:
[FONT=Courier] [FONT=Courier]L DW#16#FFFFFF00[/FONT][/FONT]
 L DW#16#FFFFFFFF
 [FONT=Courier]-D
ergibt [FONT=Courier]DW#16#FFFFFF01 (unsigned 4294967041, signed -255)[/FONT]
[/FONT]

Jetzt kommt es nur darauf an, ob du das Ergebnis als signed oder unsigned interpretierst.

 
Zurück
Oben