Zweierkomplement

Neue Frage »

Auf diesen Beitrag antworten »
Julien87 Zweierkomplement

Vorab, ich weiss was das Zweierkomplement ist. Das Zweierkomplement einer Dualzahl ist die Invertierung der AusgangsDualzahl addiert mit 1. So werden negative Dezimalzahlen in Dualzahlen codiert.

Nun versteh ich bei einer Aufgabe jedoch folgendes nicht:

"Mit einem Schaltnetz sollen zwei zweistellige Dualzahlen A und B im Zweier-Komplement voneinander subtrahiert werden (D=A-B). Eingangsvariablen sind die vier Dualziffern a1,a0 und b1,b0.Dabei repräsentieren die Ziffern a1,b1 die Vorzeichenstellen im Zweierkomplement.

Also
Eingänge:

a1 a0 b1 b0
0 0 0 0
0 0 0 1
0 0 1 0 (Z3)
......

Meine Frage:

Woher weiss ich nun das z.B. für den dritten Zustand Z3 B=-2 ist? Also ich verstehe nicht wie ich 1 0 als -2 interpretiere. Wäre -2 den nicht das Zweierkomplement von 1 0 ?
 
Auf diesen Beitrag antworten »
eulerscheZahl

Die Binärzahl ist 10. Die 1 am Anfang verrät dir, dass es sich um eine negative Zahl handelt.
Komplement bilden: 01
1 addieren: 10 (jetzt aber betragsmäßig, das ist keine negative Zahl mehr)
[latex]10_2 = 2_{10}[/latex], mit dem Minuszeichen also -2.
Auf diesen Beitrag antworten »
Julien87

Das habe ich leider noch nicht so recht verstanden. Wieso verät mir die 1 am Anfang das es eine negative Zahl ist? 0010 bzw. 10 wäre doch 2
Auf diesen Beitrag antworten »
eulerscheZahl

A und B sind beides Ziffern, die aus 2 Bit bestehen. Und wenn das vorderste Bit gesetzt ist, dann ist die Zahl - wenn als Zweierkomplement gespeichert - negativ.
 
Auf diesen Beitrag antworten »
Julien87

Danke, vielleicht habe ich es den jetzt etwas besser verstanden. Sagen wir mal folgendes ist im Zweierkomplement gespeichert:
1 (Negativ)
01 (Positiv)
001 (Negativ)
10 (Positiv)

Wenn das stimmen sollt3, wie bekomme ich nun die Werte als Dezimaldarstellung? 01,001 sollte klar sein wenn obiges stimmt, da ja das Vorzeichen eine 0 ist, muss man den Binärcode einfach in eine Dezimalzahl umwandeln.

Aber was ist mit 1 und 10? Hier muss ich einfach das zweierkomplement bilden und dann schauen welche ,,Ausgangsdezimal" Zahl es ist? Und - vor der Ausgangsdezimalzahl setzen und schon weiss ich wie 1 und 10 als Dezimalzahl dargestelt werden oder? Das waren jetzt leichte Beispiele, ging mir nur ums Verständnis, damit ich das bei großen Zahlen anwenden kann.
Auf diesen Beitrag antworten »
eulerscheZahl

10 hat eine 1 an erster Stelle, ist also negativ. 001 ist positiv.
Du schreibst das erst anders, um danach doch richtig zu argumentieren.

Du kannst auf dieser Seite herumspielen (einfach etwas in die oberste Zeile schreiben und das angewählte Feld dann verlassen).
Auf diesen Beitrag antworten »
Julien87

Ich weiss nicht was ich da oben gemacht habe, aber da ist ne Menge falsch.^^ Das fällt mir erst gerade auf! Hier nochmal andere Beispieel:

01 positiv
001010001 positiv
11011010 negativ
1 negativ

...

Ich habe es jetzt verstanden, wenn das richtig sein sollte. Die Dezimazahl von den negativen Binärcodes bekomm ich einfach hin, indem ich ihr zweierkomplement bilde und diese dann in eine Dezimalzahl umwandel. Wobei ich diese Dezimalzahl dann ein Minuszeichen vorne dransetze!
Auf diesen Beitrag antworten »
eulerscheZahl

Ja, jetzt passt es.
Auf diesen Beitrag antworten »
Julien87

Vielen dank!
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »