Hallo,
auch wenn das keine direkt auf Java bezogene Frage ist, so hoffe ich doch, dass man mir hier weiterhelfen kann...
Wenn ich zwei Dualzahlen a und b, die mittels Vorzeichen/Betrag, dargestellt sind (d.h. Bit ganz links = 0 -> positiv, Bit ganz links = 1 -> negativ) voneinander subtrahiere, wobei b betragsmässig größer ist, klappt meine Rechnung irgendwie nicht.
a = 01001 (Dezimal +9)
b = 11100 (Dezimal -12)
Hier müsste ja -3 rauskommen.
01001
11100
=====
11101
Von rechts nach links 1-0 = 1, 0-0 = 0, 0-1 = 1 Übertrag 1, 1-1-1 = 1 Übertrag 1
Hier kommt jedoch 11101 raus, d.h. Dezimal -13 statt 10011 für -3
Hat da jemand ne Idee woran das liegen kann?
Die Berechnung von Dezimal 3 und Dezimal -7 klappt hingegen problemlos in der o.g. Darstellung (3-7 = -4 = 1100
Obwohl B auch vom Betrag größer ist als a
a = 0011
b= 1111
0011
1111
==========
1100
Von rechts nach links 1-1=0, 1-1=0, 0-1 = 1 Übertrag 1
(siehe auch 403 Forbidden)
Wo liegt mein Fehler in der ersten Rechnung?
auch wenn das keine direkt auf Java bezogene Frage ist, so hoffe ich doch, dass man mir hier weiterhelfen kann...
Wenn ich zwei Dualzahlen a und b, die mittels Vorzeichen/Betrag, dargestellt sind (d.h. Bit ganz links = 0 -> positiv, Bit ganz links = 1 -> negativ) voneinander subtrahiere, wobei b betragsmässig größer ist, klappt meine Rechnung irgendwie nicht.
a = 01001 (Dezimal +9)
b = 11100 (Dezimal -12)
Hier müsste ja -3 rauskommen.
01001
11100
=====
11101
Von rechts nach links 1-0 = 1, 0-0 = 0, 0-1 = 1 Übertrag 1, 1-1-1 = 1 Übertrag 1
Hier kommt jedoch 11101 raus, d.h. Dezimal -13 statt 10011 für -3
Hat da jemand ne Idee woran das liegen kann?
Die Berechnung von Dezimal 3 und Dezimal -7 klappt hingegen problemlos in der o.g. Darstellung (3-7 = -4 = 1100
Obwohl B auch vom Betrag größer ist als a
a = 0011
b= 1111
0011
1111
==========
1100
Von rechts nach links 1-1=0, 1-1=0, 0-1 = 1 Übertrag 1
(siehe auch 403 Forbidden)
Wo liegt mein Fehler in der ersten Rechnung?