# Negative Zahlen im Hexadezimalen Zahlensystem



## Unregistriert1 (11 Mai 2006)

Hallo,

ich hätte da eine Frage zum Hexadezimalen Zahlenformat:

Wie kann ich negative Zahlen in Step 7 in Hex darstellen. Ich muss einen Motor über Profibus ansteuern. Positive Zahlen bedeuten positive Drehrichtung und negative Zahlen negative Drehrichtung.

Vielen Dank schon mal für Eure Hilfe.

Viele Grüsse
Thorsten


----------



## Rainer Hönle (11 Mai 2006)

Eine negative Zahl ist das Zweirekomplement (alles Bits umdrehen und eins dazuzählen) einer positiven Zahl. Eine negative Zahl hat immer das oberste Bit gesetzt (0x8..-0xF..). Am einfachsten ist es allerdings, das Anzeigeformat kurz umzustellen oder die Zahl im richtigen Format zu laden.


----------



## MSB (11 Mai 2006)

Es gibt im HEX-System keine negativen Zahlen,
HEX ist nur ein Binäres Abbild des Wortes, jeweils 4 Bit ergeben ergeben Wertemöglichkeit von 0-15 = 0-F.


----------



## Rainer Hönle (11 Mai 2006)

MSB schrieb:
			
		

> Es gibt im HEX-System keine negativen Zahlen,
> HEX ist nur ein Binäres Abbild des Wortes, jeweils 4 Bit ergeben ergeben Wertemöglichkeit von 0-15 = 0-F.


OK, aber es kann auch das Bitmuster einer negativen Zahl hexadezimal (oder dezimal oder binär) dargestellt werden. Und dann ist es manchmal schon interessant welchen tatsächlichen Wert eine hexadezimal dargestellte vorzeichenbehaftete ganze Zahl hat.


----------



## MSB (11 Mai 2006)

Rainer Hönle schrieb:
			
		

> OK, aber es kann auch das Bitmuster einer negativen Zahl hexadezimal (oder dezimal oder binär) dargestellt werden. Und dann ist es manchmal schon interessant welchen tatsächlichen Wert eine hexadezimal dargestellte vorzeichenbehaftete ganze Zahl hat.


Das ist schon klar, aber da war ich ehrlich gesagt zu faul das zu schreiben !
Das das Bit 15 bzw. 31 bei INT bzw. DINT das Vorzeichenbit ist, ist schon klar.

Allerdings frage ich mich dann warum ich für - irgendwas, 16#8... bis 16#F... schreiben soll,
das kann ich mit L -..... schneller und vor allem nachvollziehbarer haben.

PS. Meine Antwort bezog sich auch in keinster Weise auf Ihre Antwort.


----------



## maxi (12 Mai 2006)

Huhu alle,

wir haben früher als allerserstes für Steuerungen Asssembler lernen müssen. Das war recht toll, 8086 Programmierung (naja gab damals auch noch ned mal den  80386).
Ich muss sagen das hilft mir heute auch noch sehr. Ich merke oft bei anderen das sie Probleme mit dem Arbeiten mit VKE haben und sie meist ellenlange Programmketten schreiben wo ich grade mal 4 Befehle habe.

Grüsse


----------

