Dualzalhen subtrahieren mit Hilfe des Zweierkomplements?

... komplette Frage anzeigen

3 Antworten

der Übertrag entfällt, also die vorderste 1, schon hast Du Deine 00010001

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von akin2000
03.12.2015, 22:58

THX

0
Kommentar von mattmiksys
03.12.2015, 23:01

Ergänzung: Du hast Dich im 8-Bit-System bewegt, übertragen kannst Du es auch in 16-, 32- und sonstige Systeme. Dann würde das Zweierkomplement entsprechend viele Einsen vorn haben .. das Ergebnis bleibt bei entfallendem Übertrag dasselbe.

1

205 = 11001101

188 = 10111100

Komplement 188: 101000011

Addition 205 + (-188) = 11001101 + 101000011 (Komplement)

Ergebnis ist dann vorerst: 000010000

Da man aber noch einen Übertrag hat, muss der wieder draufaddiert werden:

00010000+1 = 00010001

Da die Zahl positiv ist, muss kein Komplement gebildet werden.


Müsste so stimmen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von mattmiksys
03.12.2015, 23:15

das ist so nicht richtig: der Übertrag hat nichts zu tun mit der zusätzlich addierten 1, die das Einserkomplement, das Du verwendest, zum Zweierkomplement macht!

0

um eine vorzeichenbehaftete Zahl mit mindestens 205 zu subtrahieren, brauchst du 9 Bit

also:

0 1100 1101

+ (-188)

also 0 1011 1100  --> 1 0100 0011 + 1 = 1 0100 0100

  0 1100 1101
+1 0100 0100

=(1)0 0001 0001

Der Übertrag in Klammern (das 10. Bit) fällt weg

Ergebnis: Eine klare 17

Ich hoffe ich konnte dir helfen!

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?