0 Daumen
1k Aufrufe

Aufgabe:

Berechnen sie 33-99 in binärer Darstellung.


Problem/Ansatz:

Mein Ansatz war das 2er Komplement zu bilden und dann zu addieren, aber ich komme nie auf das richtige Ergebnis:


33 = 100001

99 = 1100011

1er-Komplement von 99 = 0011100

2er-Komplement von 99 = 0011101



1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
1
1
0


Und 111110 ist leider 62 und nicht -66.

Avatar von

3 Antworten

+1 Daumen
 
Beste Antwort

Aloha :)

$$33=2\cdot16+1=21_{16}=0010'0001_2$$$$99=6\cdot16+3=63_{16}=0110'0011_2$$Das Zweierkomplement wird gebildet, indem alle Bits vertauscht werden und anschließend eine \(1\) addiert wird:$$-99=1001'1100_2+1_2=1001'1101$$Jetzt kannst du addieren:$$\begin{array}{r}33&=& 0010'0001_2\\-99&=&1001'1101_2\\&&1011'1110_2\end{array}$$Da das höchstwertigste Bit (=das ganz links) der Binärzahl \(1\) ist, handelt es sich beim Ergebnis um eine negative Zahl. Zur Umwandlung ins Dezimalsystem bilden wir wieder das 2er-Komplement, drehen also alle Bits um und addieren zuletzt eine \(1\):$$1011'1110_2=-(0100'0001_2+1_2)=-0100'0010_2=-42_{16}=-(4\cdot16+2)$$$$\phantom{1011'1110_2}=-66$$

Avatar von 152 k 🚀

Vielen Dank, der letzte Schritt war mir nicht bewusst :)

0 Daumen

Bei dir ist 0011101 auch keine negative Binärzahl. Du solltest schon mit 8 Bits rechnen und das Höchste Bit dann für negative Zahlen verwenden.

Avatar von 489 k 🚀
0 Daumen

(1) 62  = -66 bei 7 Bit Genauigkeit, und damit ist das richtig.

(2) Binärarithmetik funktioniert nur, wenn alle Zahlen die gleiche Stellenzahl haben. Hier wären allerdings besser 8 oder 12 Stellen angebracht, und dann gilt

33 = 0000 0010 0001

99 = 0000 0110 0011

Davon dann Einer-- und Zweierkomplement bilden.

Avatar von

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community