30.11.2012 Aufrufe

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Aufgaben und <strong>Lösungen</strong> 1-15<br />

Eine genauere Betrachtung der Rechnung zeigt, dass die Durchführung der Subtraktion in<br />

Zehnerkomplement-Darstellung offenbar nur eine andere Schreibweise ist:<br />

999 - [385 + (999 - 493+1)] +1 = 108<br />

Aufgabe 1.4.6 (T1)<br />

Warum ist die Subtraktion <strong>mit</strong> der Komplement-Methode gerade im Binärsystem so vorteilhaft?<br />

Lösung<br />

Das Zweierkomplement wurde eingeführt, um die Subtraktion durch Rückführung auf die<br />

Komplementbildung und die Addition zu vermeiden. Wie Aufgabe 1.4.5 zeigt, ist aber im<br />

Zehnersystem für die Komplementbildung eine Subtraktion erforderlich. Dies gilt auch für alle<br />

anderen Ziffernsysteme, <strong>mit</strong> Ausnahme des Dualsystems. Nur dort kann das Komplement<br />

sehr einfach durch bitweise Inversion und Addition einer 1 durchgeführt werden, so dass<br />

tatsächlich die Subtraktion vermieden werden kann.<br />

Aufgabe 1.4.7 (M2)<br />

Schreiben Sie als 32-Bit Gleitpunktzahlen:<br />

0 64.625 -3258 0.0006912 -21.40625*10 4<br />

-2 75.4 -4.532*10 3 71.46875 -439.1248<br />

Lösung<br />

Bei der Umwandlung von Dezimalzahlen d≠0 in kurze Gleitpunktzahlen g geht man folgendermaßen<br />

vor:<br />

1. Die Dezimalzahl wird in eine Binärzahl umgewandelt, ggf. <strong>mit</strong> Nachkommastellen.<br />

2. Das Komma wird so weit nach links oder rechts verschoben, bis die Normalform<br />

1.f0f1….f22 erreicht ist. Bei Verschiebung um je eine Stelle nach links wird der Exponent e<br />

der Basis 2 um eins erhöht, bei Verschiebung nach rechts um eins erniedrigt.<br />

3. Das Vorzeichen s der Zahl (positiv: 0, negativ: 1) wird in das MSB des ersten Byte geschrieben.<br />

4. Zum Exponenten e wird 127 addiert, das Ergebnis c=e+127 wird in binäre Form <strong>mit</strong> 8 Stellen<br />

umgewandelt. Ist der Exponent positiv, so hat das führende Bit von c den Wert 1,<br />

sonst hat es den Wert 0. Die 8 Bit des Ergebnisses c weirden im Anschluss an das Vorzeichen-Bit<br />

in die letzten 7 Bit des ersten und in das MSB des zweiten Byte eingefügt.<br />

5. In die Bytes 2 (anschließend an das bereits für den Exponenten verwendete MSB), 3 und<br />

4 werden schließlich die Nachkommastellen f0f1….f22 der Mantisse eingefügt.<br />

6. Ist c=00000000, also e=-127, so werden denormalisierte Gleitpunktzahlen verwendet. Diese<br />

lauten 0.f0f1….f22 2 -126 .<br />

s c c c c c c c<br />

Vorzeichen<br />

der Mantisse<br />

Exponent (8 Bit) im<br />

127-Exzess-Code<br />

c f f f f f f f<br />

f f f f f f f f<br />

Mantisse in Normalform ohne führende 1 (23 Bit)<br />

f f f f f f f f

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!