Seite 1 von 1

2-komplement Darstellung

Verfasst: 23. Okt 2009 13:05
von mickyloranger
Die Darstellung von Zahlen wie 127, 63 usw. sind für mich unverständlich.
Da man kriegt 11111111, 1111111 und die ensprechend 2-komplement darstellung sind 00000001 und 0000001 was Meiner meinung nach nicht -127 und -63 sind.

Re: 2-komplement Darstellung

Verfasst: 23. Okt 2009 13:14
von DanielSchoepe
1. 127_(10) ist 1111111_(2) und nicht 11111111. Das selbe für 63
2. Ich glaube das Missverstädnis ist, dass du mit einer festen Bitbreite rechnen musst und daher musst du auch alle Stellen invertieren:
Wenn man von einer Breite von 8 Bit ausgeht:
127_(10) = 01111111
-> Invertieren:
10000000
-> +1:
10000001
Und dies ist tatsächlich die Zweierkomplement-Darstellung von -127.

Re: 2-komplement Darstellung

Verfasst: 23. Okt 2009 13:48
von LucasR
Kleiner Tipp am Rande: in der 2-komplement Darstellung fängst du normal bei 0000 an für positive Zahlen. 1000 Entspricht der niedrigsten (!) negativen Zahl (-8), worauf dann auch addiert wird, sodass 1111 dann -1 entspricht. Du definierst also mit deinem ersten Bit, wo du anfängst zu zählen (-8 bzw 0 und dann bis -1 bzw 7, jew. in diesem Fall genau 8 Werte).

Re: 2-komplement Darstellung

Verfasst: 23. Okt 2009 22:56
von femu
ja stimmt
Das Problem kann gar nicht auftreten, da jede positive Zahl beim Zweierkomplement mit 0 anfängt.
Das heißt, dass das Invertierte dann mit 1 anfangen muss, was damit zusammen passt, dass die Zahl negativ ist.

Deshalb kann man mit Zweierkomplementzahlen auch nicht so große Zahlen darstellen, wie mit vorzeichenlosen, da ja die 0 am Anfang eine Stelle wegnimmt.