Hi robo,
... jetzt muss ich noch ein kleines Detail aus der numerischen Mathematik erklären. Die Darstellung ist abgespeckt mit Rücksicht auf Kürze und Verständlichkeit (hoffentlich) und daher mathematisch nicht vollständig und auch nicht allgemeingültig. Wenn Du es kurz machen willst, lies einfach nur den vorletzten Absatz, evtl. noch das Fazit *ggggg* - der Rest ist eigentlich nicht zum Lesen bestimmt.Zitat von robodriver
Digitalrechner rechnen Gleitkommawerte standardmässig u.a. mit einfacher Genauigkeit oder mit doppelter Genauigkeit. Sie rechnen alle Zahlen in binärer Darstellung mit Nullen und Einsen. Jede Zahl (natürlich auch unsere Zahlen aus dem dekadischen Zahlensystem) werden von rechts nach links steigend (das ist einfach eine Vereinbarung) in die Potenzen von zwei aufgeteilt. Steht eine "1" da, ist der Wert der entsprechenden Potenz enthalten, steht eine "0" da, ist die Potenz nicht enthalten. Die erste Stelle ganz rechts repräsentiert den Wert 2° (zwei hoch Null) - also EINS, die zweite Stelle 2 hoch eins - also ZWEI, die dritte Stelle 2² - also vier usw. Daher hat beispielsweise 0101 den (dekadischen) Zahlenwert fünf, nämlich 2° + 2².
Damit kann ich aber nur ganze Zahlen darstellen. Gleitkommazahlen werden in logarithmischer Schreibweise dargestellt. Du weißt aus der Schule (oder hast es wie wir fast alle mehr oder weniger vergessen), dass der Logarithmus einer beliebigen Zahl aus einer Zahl mit Kommastrich besteht: der (landläufig bezeichnetMantisse, also dem eigentlichen Logarithmus - sozusagen - das ist die Ziffernfolge nach dem Komma und dem Exponenten, das ist die Hochzahl, mit der die "Wertigkeit" der delogarithmierten Mantisse bestimmt wird. Klar bis hierher? Halbwegs hoffentlich.
Einfach genaue Zahlen (single precision) werden mit einem Byte = 8 Bit für den Exponenten und (fast) drei Bytes dargestellt. In den 3x8 Bytes ist nämlich auch das Vorzeichenbit enthalten. Mit Vorzeichenbit werden also vier Byte komplett verwendet. Berechnet man daraus die ursprüngliche, dekadische Zahl erhält man eine Ziffernfolge, die auf etwa sieben Stellen genau ist. Dies ist unterstrichen, weil es die eigentliche Aussage dieses ganzen Sermons ist. Du kannst also mit dieser Darstellung die Zahl ╥ (pi) z.B. angeben mit 3,1415926535 - mit der schwarzen Ziffernfolge. Die hellblauen Ziffern sind NICHT mehr fassbar.
Man spricht in diesem Falle, dass mit single precision sieben signifikanten Stellen darstellbar sind. Es ist dabei völlig gleichgültig, ob diese Stellen beliebig aufgeteilt vor oder nach dem Kommastrich stehen - nur die Ziffernfolge ist durch die Mantisse mit den drei Bytes (minus dem Vorzeichenbit) definiert. Die Wertigkeit wird durch den Exponenten bestimmt. Die Darstellung 31415,926535 wird also auf Rechnerbasis die gleiche Mantisse haben. Eine höhere Genauigkeit - sprich: mehr signifikante Stellen - bekommst Du mit double precision - etwa 15 Stellen - dann werden die oben gezeigten blauen Ziffern schwarz - und noch ein paar dazu und pi würde 3,14159 26535 89793 23846 - der Rest ist noch immer nicht darstellbar.
Fazit: Deine Verschiebung des Kommastriches hilft Dir nicht - es zählen bei den hier behandelten Wertdarstellungen nur die signifikanten Stellen.
Lesezeichen