Vorsicht vor den Details! Extended kann zwar riesig große Zahlen darstellen, aber trotzdem maximal 2^80 Werte genau. Das heisst, dass lediglich ein verschwindend geringer Prozentsatz exakt darstellbar ist. Zu beachten auch: Signifikante Stellen bei Extended: 19-20. Eine 10^24 ist aber 25-stellig, und würde daher bestenfalls als Näherung darstellbar sein. Bei noch größeren Werten, dürften die darstellbaren Werte steigenden Abstand voneinander haben, womit die Wahrscheinlichkeit wächst, eine nicht wirklich gute Näherung zu bekommen.
Der Zahlenbereich von Extended schaut zwar irre toll aus, aber lasst euch um Gottes Willen nicht immer alle davon irre führen! Mehr als 2^[bits] Werte gehen NIE, egal wie sich der Typ zusammensetzt. Bei Floats leidet halt die Genauigkeit unter der Range.
Je nach Einsatzzweck können diese Näherungen sicherlich reichen, aber für den vorliegenden Fall würde ich einfach die Einheit in der ich rechne ändern. Was spricht dagegen in z.B. Megatonnen statt in Kilogramm zu rechnen? (Den entsprechenden Faktor muss man nur konsequent auf alle anderen Maßeinheiten durchziehen, und du wirst keinen Unterschied im Ergebnis bemerken.)
Zudem bietet sich die Angabe von 5,9736*10^24, also 5973600000000000000000000 doch prima an um die Einheiten zu kürzen. Siehst du WIE viele Nullen da unnötig sind, und nichts zur Genauigkeit beitragen? Wenn man die Zahl so in einen Extended quetscht, würde die Genauigkeit deswegen leiden, da ja binär gespeichert wird. Und der o.g. Wert ist Binär mit großer Wahrscheinlichkeit keine Zahl mit einer langen 0-Kette am Ende
(Bzw. würde sich keine Mantisse mit einer so langen 0-Kette ergeben vermute ich mal.)
\\Edith: Schlechtschreibung...
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel