Einstieg in das Thema
Was brauchst du als Basiswissen?
Du musst wissen, wie man Binärzahlen darstellt. Das mathematische Grundwissen zu Potenzen ist hilfreich.
Worum geht es?
Du kennst die Festkommazahlen. Nun gibt es Zahlen, die sehr klein oder sehr groß sind. Das passt nicht zur Festkommazahl mit ihrer festen Anzahl an Nachkommastellen.
Es muss was Besseres her.
Was ist das Ziel?
Am Ende kennst du eine flexiblere Art der Darstellung von Kommazahlen.
Erarbeitung
Ein paar Worte vorab
Aufgaben zur Einarbeitung
Achtung, bis auf die Basis sind alles nun Binärzahlen!
Aufgabe 1: Berechne (geht im Kopf) 1,1·2^10Aufgabe 2: 1,01·2^10
Aufgabe 3: 1,0·2^111
Aufgabe 4: 0,0·2^1
Folgende Binärzahlen sind noch nicht normalisiert. Schreibe sie normalisiert auf.
Aufgabe 5: 11Aufgabe 6: 1101
Aufgabe 7: 0,1
Aufgabe 8: 0,011
Aufgabe 9: 0,00111
Berechne obige Zahlen und gib den Dezimalwert (gern als Bruch, wenn sinnvoll) an.
Im Speicher
Du weißt nun, wie die Zahlen in normalisierter, also "binärer wissenschaftlicher" Schreibweise aussehen. So packt man sie auch in den Speicher. Also so ähnlich. Das ist oft verschieden, für Java gilt bei dem Datentyp float:
- Ein Bit gibt das Vorzeichen an.
- 8 Bit speichern den Exponenten, allerdings um 127 verschoben (der negativen Zahlen wegen).
- 23 Bit sind für die Mantisse, aber nur für den Teil hinter dem Komma.
- 1,625 ist binär 1,101·2⁰
- Aus der 0 wird 0+127=127.
- Im Speicher steht also: 0 11111111 10100000000000000000000.
Wer Java kann und sich das gern anschauen möchte:
float number = 1.625f;
int bits = Float.floatToIntBits(number);
String binaryString = String.format("%32s", Integer.toBinaryString(bits)).replace(' ', '0');
System.out.println(binaryString);
Muss man das wissen? Nö, aber man sollte es mal gesehen haben.
Zusammenfassung
Was muss man wissen/können?
Du musst wissen
- was die wissenschaftliche Schreibweise ist,
- dass es die auch bei Basis 2 gibt und
- dass Computer Zahlen in der Form a·2^b speichern.
Du kannst
- Festkommazahlen in die normalisierte Form bringen
- und sie analysieren, also mal ausrechen, was die Zahl ist.
Was können anschließende Themen sein?
Mit den Zahlen sind wir durch. Du kannst dich jetzt prüfen lassen und gern was Neues probieren.