S7 Befehl ABS

Panzerknacker

Level-1
Beiträge
116
Reaktionspunkte
23
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
weiß jemand von euch zufällig warum der Befehl ABS in der Siemens Hilfe nur auf 32bit Gleitkommazahlen beschrieben ist und nich auch auf 32bit Festpunktzahl? Die Funktion macht imho nichts anderes als das höchstwertige Bit auf 0 zu schreiben und dieses Bit ist ja bei Gleitkomma wie auch bei Festpunktzahlen für das Vorzeichen gedacht.
 
....
Die Funktion macht imho nichts anderes als das höchstwertige Bit auf 0 zu schreiben und dieses Bit ist ja bei Gleitkomma wie auch bei Festpunktzahlen für das Vorzeichen gedacht.
Allerdings mit dem Unterschied, dass bei Ganzzahlen durch einfaches Nullsetzen des Vorzeichenbits nicht der Absolutwert der Zahl herrauskommt.;)
 
Ihr habt ja so recht ... Ich fühl mich Elend und schlecht diese Frage überhaupt gestellt zu haben... Aber ich wünsche demjenigen viel Spaß der mir ganz stolz erzählt hat das er den ABS Befehl schon immer in seinen Programmen auf Ganzzahlen anwendet... Scheinbar hat er das nie richtig getestet...
 
Hallo zusammen,
weiß jemand von euch zufällig warum der Befehl ABS in der Siemens Hilfe nur auf 32bit Gleitkommazahlen beschrieben ist und nich auch auf 32bit Festpunktzahl? Die Funktion macht imho nichts anderes als das höchstwertige Bit auf 0 zu schreiben und dieses Bit ist ja bei Gleitkomma wie auch bei Festpunktzahlen für das Vorzeichen gedacht.
Dass das obere Bit bei Festpunktzahle das Vorzeiche ist stimmt. Aber nur dieses Bit zu invertieren ändert nicht nur das Vorzeichen sondern auch den Betrag der Zahl. Beispiel:
1 (dez) = 0000 0000 0000 0001 (bin)
-1 (dez) = 1111 1111 1111 1111 (bin)
Nur das Vorzeichen geändert
32767 (dez) = 0111 1111 1111 1111 (bin)
Deshalb muss bei Festpunktzahlen das Zweierkomplement verwendet werden.
 
Zurück
Oben