2-komplement Darstellung

mickyloranger
Erstie
Erstie
Beiträge: 15
Registriert: 13. Okt 2009 21:10

2-komplement Darstellung

Beitrag 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.

DanielSchoepe
Mausschubser
Mausschubser
Beiträge: 49
Registriert: 28. Sep 2009 11:39

Re: 2-komplement Darstellung

Beitrag 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.

LucasR
Kernelcompilierer
Kernelcompilierer
Beiträge: 474
Registriert: 9. Jun 2009 09:55

Re: 2-komplement Darstellung

Beitrag 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).

femu
Mausschubser
Mausschubser
Beiträge: 73
Registriert: 12. Sep 2009 19:21

Re: 2-komplement Darstellung

Beitrag 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.

Antworten

Zurück zu „Archiv“