1101 0110 dual in dezimalwert, (Lösung ist nicht 214 sondern 42)?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Moin, die Zahl ist im Zweierkomplement. Dort ist die Lösung -42.

Darstellung der positiven Dezimalzahl 42 in Binärform:

  • 42 = 0010 1010

Invertiere alle Bits (0 wird zu 1 und 1 wird zu 0):

  • Invertiert: 1101 0101

Füge 1 zum invertierten Wert hinzu:

  • 1101 0101 + 1 = 1101 0110

Damit hast du dann deine Dezimalzahl. Das - muss dir beim Abschreiben verloren gegangen sein.

Dxniz 
Fragesteller
 06.11.2023, 08:28

kannst du mir erklären warum 1101 0101 + 1 1101 0110 ergibt, das verstehe ich nicht ganz den rest habe ich verstanden

0
zooper  06.11.2023, 20:06
@Dxniz

Naja, wenn du zu 0101 eine 1 dazurechnest dann gehts eins nach oben.

Addition ist wie beim dezimalsystem.

0101
+ 0001
=0110

"1 gemerkt" falls dir das hilft.

0

Man könnte auch andersherum rechnen und die Dualzahl in eine Dezimalzahl umwandeln:

MSB Bit 1? Ja, also ist die Zahl negativ. Dann:

101 0110 = 86

(2^7) - 86 = 42

(Anmerkung: (2^7)-1 ist der höchste Wert, der mit 7 Bit darstellbar ist.)

Woher ich das weiß:Studium / Ausbildung

Das ist dann eine Zahl im Zweierkomplement. Da das linke Bit 1 ist, ist die Zahl auf jeden Fall negativ.

Jetzt wandelst du die Zahl in eine positive Zahl um: alle Bits negieren: 00101001

Eins addieren, dann erhälst du 00101010 und das entspricht der 42 dezimal.