![]() |
Signifikante Stellen
Hallo,
in der Delphi Hilfe steht unter reellen Typen folgendes: Typ | Bereich | Signifikante Stellen ---------------------------------------------------------- Real48 | 2.9 x 10^39 .. 1.7 x 10^38 | 11-12 usw. Wie kommt man bei den Datentypen auf die Signifikanten Stellen? Habe auch schon im Internet gesucht aber nicht wirklich etwas gefunden. In Wikipedia gibt es auch unter dem Stichwort "Signifikante Stellen" einen Artikel, aber von diesen kann ich nicht auf die "11-12" schließen. Mit freundlichen Grüßen Stefan |
Re: Signifikante Stellen
Na ganz einfach:
Du nimmst dir die Mantisse, rechnest 2^Mantissenbits und siehst nach, wie viele Stellen die Dezimalzahl hat. |
Re: Signifikante Stellen
Bits in Mantisse * Ln(2) / Ln(10) = signifikante Stellen zu Basis 10.
Die Anzahl der Mantissenbits ergibt sich aus -> Bits im Datentyp - 1 Bit Vorzeichen - Bits für Exponent - 1 Bit Vorzeichen Exponent. Gruß Hagen |
Re: Signifikante Stellen
Zitat:
Gruss Reinhard |
Re: Signifikante Stellen
Schon mal danke für die schnellen Antworten.
Aber ich komme mit euerer Formel nicht ganz klar. Zitat:
Bits für Exponent, sind das hier 2 Bits??? (Also von Bereich her 2.9 x 10^39 .. 1.7 x 10^38 sind es ja 2Bits.) 48 Bits - 1 Bit Vorzeichen - 2 Bits für Exponent - 1 Bit Vorzeichen Exponent = 44 Bits Zitat:
Kann mir das bitte einer richtig vorrechnen? |
Re: Signifikante Stellen
Ne, der Exponent 39 bzw. 38 besteht aus 6 Bits. Dazu muss man gucken, aus wie vielen Stellen die Zahl 39 besteht, wenn man sie im Dual-System darstellt.
100111 bzw 100110 Also (48-1-6-1)*ln(2)/ln(10)=12,04 |
Re: Signifikante Stellen
ok, aber in der Hilfe wird ja ein Bereich von 11-12 signifikante Stellen angegeben!?
Was mir gerade so auffällt, in der Delphi 6 Hilfe wurden bei den reellen Typen die minus Zeichen vergessen. So stehts in der Hilfe: Typ Bereich Real48 2.9 x 10^39 .. 1.7 x 10^38 Single 1.5 x 10^45 .. 3.4 x 10^38 Double 5.0 x 10^324 .. 1.7 x 10^308 Extended 3.6 x 10^4951 .. 1.1 x 10^4932 Comp 2^63+1 .. 2^63 1 Currency 922337203685477.5808.. 922337203685477.5807 In einem Buch steht "Genauigkeit" anstatt "signifikante Stellen". Was heißt den jetzt genau "signifikante Stellen/Genauigkeit von 11-12 Stellen"? Rechnet Delphi den ungenau nach den 11-12 Stellen? (Real48 hat ja im negativen Bereich 40 Nachkommastellen, dann müssten ja 28 Stellen ungenau sein?) |
Re: Signifikante Stellen
Bei Fließkommazahlen wird die Zahl unabhängig von der Position des Kommas in der Form 0,... gespeichert. Die Anzahl der signifikaten Stellen gibt an auf weviele Stellen die Zahl genau angegeben werden kann, nicht die Anzahl der möglichen Stellen.
|
Re: Signifikante Stellen
Aber warum können den die signifikanten Stellen nicht gleich den möglichen Stellen sein?
Das ist mir noch nicht klar. |
Re: Signifikante Stellen
Zitat:
Es können also Zahlen gespeichert werde, die mehr Stellen haben, als die Genauigkeit zuläßt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz