Frage von Gabba112, 46

Wie berechnet man diese Dezimalzahl um?

Dezimalzahl -8 soll nun in eine Dualzahl umgewandelt werden... Ich würde es erstmal als Dualzahl schreiben also hier: 1000 Und dann in das Komplement umwandeln oder? Also:0111 ?

Vielen dank schon einmal

Antwort
von kevincool22, 29

Wenn du das Komplement willst 0111 aber nur zur Basis 2 ist 1000 schon richtig wenn du eine weitere Stelle hast die das Vorzeichen mitgibt also zb 11000 wobei dann die erste 1 das Minus ist

Antwort
von sarahj, 8

Was Du beschreibst ist das 1-er Komplement, bei dem alle Bits (tats. ein Bit mehr) invertiert werden, und das höchstwertige Bit dann zu einer 1 wird, und somit das negative Vorzeichen anzeigt.

Das hat aber den "Nachteil" (manchmal ist das aber auch ein Vorteil), daß es 2 Nullen gibt; eine positive 000....000 und eine negative Null 111...111.
Früher gab es tatsächlich Rechner, die das 1er Komplement verwendeten. Heute aber kaum mehr anzutreffen.

Beim heute üblicherweise verwendeten 2-er Komplement wird zum Negieren nach dem Invertieren der Bits noch 1 dazu addiert:

Beispiel: dezimal 1; binär 0001 -> invertiert: 1110 -> +1: 1111
oder: dezimal 8; binär 1000 -> invertiert: 0111 -> +1: 1000

Umgekehrt: dezimal -8; binär 11000 -> invertiert: 00111 -> +1: 01000

Mit 4 Bits erhält man also "nur" einen Zahlenbereich von -8 .. +7 (was auch den "komischen" Bereich des Datentyps "Byte" erklärt, der -128 .. +127 ist).

Um -8 darzustellen, brauchst Du im 2er Komplement also 5 Bits:
01000 (+8) ->negiert -> 11000 (-8)

Alles klar?

Antwort
von eetrop11, 26

0111 ist doch 7 im Dezimalsystem, oder? Warum nicht einfach -1000?

Kommentar von Volens ,

Der Computer kann nur 0 und 1 (ja oder nein; an oder aus; negativ oder positiv). Minus kann er nicht, deshalb die Verschlüsselung über ein weiteres Bit.

Kommentar von eetrop11 ,

Ok Sorry, ich bin mehr der Mathematiker =)

Keine passende Antwort gefunden?

Fragen Sie die Community