Normalisierung von Dualzahlen

Hallo!

Ich beschäftige mich momentan mit Grundlagen der Informatik und habe folgendes Problem:

Ich möchte folgende Gleitkommazahl in die normalisierte Darstellung umwandeln:

0.00011001 * 8^-12 (Dualsystem, Exponentenbasis 2^3=8)

Das Ergebnis der Aufgabe müsste „0.11001 * 8^-13“ sein.

Könnte mir vielleicht jemand anschaulich und anfängergerecht erklären, welches Rechenschema zu diesem Ergebnis führt? Leider konnte ich trotz längere Suche im Internet keine zufriedenstellende Antwort auf meine Frage finden.

Ich bedanke mich für die Hilfe bereits im voraus!

Viele Grüße, Frank

Hi…

Ich möchte folgende Gleitkommazahl in die normalisierte
Darstellung umwandeln:

0.00011001 * 8^-12 (Dualsystem, Exponentenbasis 2^3=8)

Das Ergebnis der Aufgabe müsste „0.11001 * 8^-13“ sein.

Normalisierte Darstellung heißt normalerweise: Genau eine Stelle (ungleich 0) vor dem Komma. In diesem Fall geht das nicht, gesucht ist wohl die größtmögliche Mantisse kleiner 1.

Ok. Ich nehme mal an, daß Dir Exponentialrechnung zumindest im Dezimalsystem halbwegs vertraut ist. In jedem Zahlensystem gilt: Multipliziert man eine Zahl mit der Basis (des Zahlensystems), so ist das Ergebnis dieselbe Zahl, um eine Stelle nach links verschoben.

Beispiele dezimal:

123 * 10 = 1230
1.23 * 10 = 12.3

Beispiel dual:

101001 * 10 = 1010010
0.00101 * 10 = 0.0101

Die Basis in Deiner Gleitkommazahl ist 8, dual 1000. Das finde ich recht ungewöhnlich, normalerweise verwendet man die Basis des Zahlensystems, in dem man sich befindet. Aber dazu später. Multipliziert man eine Dualzahl mit (dual) 1000, so wird sie (s.o.) um drei Stellen nach links verschoben. Somit dürfte Dir klar sein, daß das Ergebnis stimmt. Um ein unbekanntes Ergebnis zu finden, zählt man ab, um wieviele Stellen man schieben will, und passt den Exponenten entsprechend an.

Wenn man, wie üblich, die Basis des Zahlensystems verwendet hätte, könnte man auf eine Stelle genau schieben. Im Computerbereich gewinnt man ein zusätzliches Bit, indem man von der Normaldarstellung nur den Teil rechts vom Komma speichert, denn daß vorne immer eine 1 steht, weiß man ja.

genumi

Korrektur

Im Computerbereich gewinnt man ein zusätzliches Bit, indem man
von der Normaldarstellung nur den Teil rechts vom Komma
speichert, denn daß vorne immer eine 1 steht, weiß man ja.

Da hab ich doch eine wesentliche Kleingkeit unterschlagen: Mit dieser Methode kann man die Zahl Null nicht darstellen. Da man die doch hin und wieder braucht, definiert man: Ein bestimmter Exponent, normalerweise der kleinstmögliche, bedeutet Null (egal, was in der Mantisse steht) Wenn man gerade dabei ist, kann man auch noch definieren, daß bei Division durch Null oder ähnlichen unmöglichen Operationen eine Zahl mit dem größtmöglichen Exponenten zurückgeliefert wird.

Die zwei Sonderexponenten dürfen dann natürlich nicht für „normale“ Zahlen verwendet werden, d.h. der darstellbare Wertebereich wird verkleinert.

genumi