0 Daumen
507 Aufrufe

Bild Mathematik

Ich steh bei dieser Aufgabe ziemlich auf dem Schlauch und weiß nicht so recht was ich machen soll,

wäre wircklich sehr nett wenn mit jemand sagen könnte wie man sowas berechnet.

Avatar von

1 Antwort

0 Daumen

A) Was ist 23 im Binärsystem? Die Zahl ist positiv also rechnen wir das einfach aus: 1 0111. Wir wollen 8 Bit haben, also 0001 0111. Die nächste Zahl ist negativ, wir verwenden das Zweierkomplement: 57 ist 11 1001, 8 Bit -> 0011 1001 Jetzt Bits kippen: 1100 0110 und 1 addieren: 1100 0111.

B) 23 - 57 = -34. In Binär ist 34 einfach 10 0010. 8Bits 0010 0010. Kippen: 1101 1101, 1 Addieren: 1101 1110.

Jetzt rufen wir add(0001 0111, 1100 0111) auf. Num() verwandelt eine Binärzahl in die positive ganze Zahl

Num(0001 0111) = 23, Num(1100 0111) = 2^7 + 2^6 + 2^2 + 2^1 + 2^0 = 199 (= 256 - 57)

Die Zahlen addieren wir jetzt 23+199=222, modulo 2^8=256 ist das immer noch =222, bin() wandelt das jetzt wieder in eine Binärzahl um: 222 ist in Binär 1101 1110. Also genau dasselbe wie wir für -34 rausbekommen haben, die Addierfunktion arbeitet also korrekt.

C) Gesucht ist eine Binärzahl die Hexadezimal B3C8 entspricht, die ist aber schnell gefunden: B = 11 = 1011, 3 = 3 = 0011, C = 12 = 1100, 8 = 8 = 1000. Zusammenhängen: 10110011 11001000

Avatar von

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community