0 Daumen
575 Aufrufe

Aufgabe:

Ich soll 11 10002 − 110 01102 schriftlich rechnen und die Zahlen dafür zunächst in 8-Bit Zweierkomplement und das Ergebnis im 8 Bit Zweierkomplement angeben übertragen


Problem/Ansatz:

Hat einer ne Ahnung wie ich dabei vor gehen soll ?

Avatar von

1 Antwort

+1 Daumen

Hallo,

Wenn man \(11\space 1000_2 − 110\space 0110_2\) rechnen möchte, muss man nur aus der zweiten Zahl, also dort wo das Minuszeichen davor steht, das Zweierkomplement bestimmen. Die Subtraktion besteht dann darin, die erste Zahl mit dem Zweierkomplement der zweiten Zahl zu addieren.

Das 8Bit-Zweierkomplement erzeugt man, indem man zunächst die Binär-Zahl vorn mit 0'en bis auf 8 Binärstellen auffüllt, anschließend jedes Bit invertiert (also 0 zu 1 und 1 zu 0 macht) und anschließend eine 1 addiert. Somit wird aus \(110\space 0110_2\)

  110 0110
0110 0110 // mit 0'en auf 8Bit aufgefüllt
1001 1001 // aus jeder 0 eine 1 gemacht und aus jeder 1 einen 0
1001 1010 // 1 addiert

Dies addierst Du nun binär zur ersten Zahl \(11\space 1000_2\)

    11 1000
+ 1001 1010
-----------
1101 0010

wenn Du dazu Fragen hast, so melde Dich bitte.
Das Ergebnis ist jetzt eine negative Zahl, was man an der ersten 1 in der Binärdarstellung sieht. Um auf das positive Pendant zu kommen bilde wieder das 8Bit-Zweierkomplement:

 1101 0010   // sind schon 8Bit
0010 1101 // aus jeder 0 eine 1 gemacht und aus jeder 1 einen 0
0010 1110 // 1 addiert

Das Ergebnis ist also \(-10\space 1110_2 = -46\)

Avatar von

Vielen Dank für die Hilfe

  Noch eine Frage also kommt -1011102raus wenn ich die beiden Zahlen schriftlich berechne ?

Noch eine Frage also kommt -1011102raus wenn ich die beiden Zahlen schriftlich berechne ?

das ist richtig, wobei Du dafür auch schreiben kannst$$1101\space 0010_{2c} = -10\space 1110_2$$

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community