Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
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