Aufgabe 6.1 (Maskierung, Setzen von Bits)
a) In einem 16-bit Wort x sollen die Bits 13,12,11,7,6,3,2 und 0 unabhängig von ihrem aktuellen Wert (auf
eins) gesetzt werden. Dazu kann man die Operation x = x | y mit einem geeigneten Wort y ausführen.
Geben Sie das Wort y (Maske) an!
b) Führen Sie die Maskierung mit Ihrem Wort aus Aufgabenteil a) an folgenden Wörtern durch:
0x0000, 0xca9f, 0xabab, 0xedda
Aufgabe 6.2 (Maskierung, Löschen von Bits)
a) In einem 16-bit Wort x sollen die Bits 13,12,11,7,6,3,2 und 0 unabhängig von ihrem aktuellen Wert auf
null gesetzt (gelöscht) werden. Dazu kann man die Operation x = x & y mit einem geeigneten Wort y
ausführen. Geben Sie das Wort y (Maske) an!
b) Führen Sie die Maskierung mit Ihrem Wort aus Aufgabenteil a) an folgenden Wörtern durch:
0xffff, 0xca9f, 0xabab, 0xedda
Aufgabe 6.3 (Maskierung, “Togglen” von Bits)
a) In einem 16-bit Wort x sollen die Werte der Bits 13,12,11,7,6,3,2 und 0 geändert werden (“togglen”). Dazu
kann man die Operation x = x
∧
y mit einem geeigneten Wort y ausführen. Geben Sie das Wort y an!
b) Führen Sie die Operation mit Ihrem Wort aus Aufgabenteil a) an folgenden Wörtern durch:
0xffff, 0x0000, 0xca9f, 0xabab, 0xedda
c) Prüfen Sie an den Beispielen aus Aufgabenteil b), dass die zweimalige Anwendung der ∧
y-Operation, also
x = (x
∧
y)
∧
y, das ursprüngliche x wiederherstellt!
d) Finden Sie 16-bit Wörter y, so dass
(a) 0xcafe ^ y = 0xbeef
(b) 0xaaaa ^ y = 0x5555
(c) 0xffff ^ y = 0x0000
(d) 0xdead ^ y = 0xcaca
Aufgabe 6.4 (Bitfelder)
In einem 32-Wort seien Zahlen in den Bitfeldern 28-26, 23-21 und 10-7 binär kodiert.
a) Welche Werte können die Zahlen in den Feldern annehmen, jeweils vorzeichenlos und als Zweierkomplement?
b)Wie und mit welchen Masken können Sie die Bitfelder auf null setzen?
c) Welche Werte haben die Bitfelder im Wort 0xf2edcace vorzeichenlos und als Zweierkomplement? Geben Sie die Werte dezimal und hexadezimal an!
Aufgabe 6.5
a) Konvertieren Sie die vier dezimalen Gleitkommazahlen 14.375, -173.875, 0.03125 und -0.046875 in 32-bit und 64-bit binäre Gleitkommazahlen im IEEE-Format!Geben Sie die Ergebnisse auch hexadezimal an!
b) Konvertieren Sie die vier 32-bit Gleitkommazahlen im IEEE-Format C1710000, 43616000, 3B800000
und BA800000 in dezimale Gleitkommazahlen!
Ein paar Lösungen mit ein wenig Erklärung(muss nicht viel sein) wären sehr nett von euch
Danke im vorraus!
mit freundlichen Grüßen
Infostudent1