Kann mir einer bitte erklären wie ich mit dem Zweierkomplement rechnen soll?

2 Antworten

1.5 a) Positive Zahlen sehen in der 2er-Komplementdarstellung genauso aus, wie in der gewöhnlichen Binärdarstellung. Die Zahl kannst du also einfach so als Binärzahl darstellen. 37 = 0010 0101

b) Ist eine negative Zahl, die musst du also ins 2er-Komplement umwandeln. Ich denke mal, in der Schule wirst du den Weg gelernt haben: 25 zu Binär umwandeln (0001 1001), alle Bits invertieren (1110 0110) und dann plus 1 rechnen (1110 0111). Ich finde es einfacher, erst plus 1 zu rechnen (-24) und dann nach binär zu wandeln (0001 1000) und die Bits zu invertieren (1110 0111)

c) Da hast du im Prinzip den umgekehrten Weg, wie in b. Daran, dass das erste Bit eine 1 ist, erkennst du, dass es eine negative Zahl ist. Also alle Bits invertieren (0110 1000) nach dezimal wandeln (104) und plus 1 (105 bzw. -105).

1.6 a) Die Zahlen kannst du einfach binär addieren.

  1100 1001
+ 0001 1110
Ü   11
  ---------
  1110 0111

b) Da kommt es drauf an, wie ihr die Subtraktion von zwei binären Werten gelernt habt.

Entweder direkt subtrahieren:

  1010 1100
- 0011 0110
Ü 111  11
  ---------
  0111 0110

Oder die zweite Zahl in eine Negativzahl umwandeln (1100 1010) und dann addieren:

   1010 1100
+  1100 1010
Ü1    1
   ---------
 1 0111 0110 

Bei der zweiten Variante siehst du deutlich, dass es zu einem Überlauf kommt. Also du ziehst von einer negativen Zahl etwas ab und es kommt eine positive Zahl raus. In diesem Fall -84 - 54 = 118, obwohl eigentlich -138 rauskommen müsste. Bei 8-Bit ist aber der kleinste darstellbare Wert -128, danach kommt der Überlauf und es geht wieder bei +127 weiter.

Es gibt einen Unterschied zwischen Zweierkomplementdarstellung und Zweierkomplement. Die Zweierkomplementdarstellung beschreibt, wie die Bits zu interpretieren sind: Also z.B. vorderste Bit ist Vorzeichen, 0 = positiv, 1 = negativ... Das Zweierkomplement ist im Prinzip eine "Rechenvorschrift". Du kannst das Zweierkomplement einer Zahl bilden, es entspricht in dem Fall der negierten Zahl. Also 1 = 00000001, -1 = 11111111.

Wenn du im Zweierkomplement rechnest, kannst du eine Subtraktion auf eine Addition des negierten Wertes zurückführen: a - b = a + (-b)

10101100 - 00110110 = 10101100 + Zweierkomplement(00110110) = 10101100 + 11001001

PS: Dass diese Methode funktioniert ist das eigentlich coole an der Zweierkomplementdarstellung, bzw. am Zweierkomplement. Andere Darstellung für negative Zahlen ist z.B. die Vorzeichen-Betrag-Schreibweise. Aber dabei gibt es -0 und +0. Das macht das Rechnen schwieriger.

checkerch 
Fragesteller
 03.12.2023, 03:08

Vielen Dank!

Heißt das bei a) kommt -25 (in binär) raus und bei b) gleich -139 (in binär)?

0