Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Signifikante Stellen (https://www.delphipraxis.net/82224-signifikante-stellen.html)

Ruffy87 8. Dez 2006 21:16


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

3_of_8 8. Dez 2006 21:19

Re: Signifikante Stellen
 
Na ganz einfach:

Du nimmst dir die Mantisse, rechnest 2^Mantissenbits und siehst nach, wie viele Stellen die Dezimalzahl hat.

negaH 8. Dez 2006 22:12

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

Reinhard Kern 9. Dez 2006 01:29

Re: Signifikante Stellen
 
Zitat:

Zitat von Ruffy87
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

Als grobe Überschlagsrechnung je 3 Mantissenbits entsprechen 1 Dezimalstelle.

Gruss Reinhard

Ruffy87 9. Dez 2006 12:19

Re: Signifikante Stellen
 
Schon mal danke für die schnellen Antworten.

Aber ich komme mit euerer Formel nicht ganz klar.

Zitat:

Die Anzahl der Mantissenbits ergibt sich aus -> Bits im Datentyp - 1 Bit Vorzeichen - Bits für Exponent - 1 Bit Vorzeichen Exponent.
Der Typ Real48 hat 6 Byte. Also hat der Datentyp 48 Bits.
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:

Bits in Mantisse * Ln(2) / Ln(10) = signifikante Stellen zu Basis 10.
48 Bits * Ln(2) / Ln(10) = 14,45

Kann mir das bitte einer richtig vorrechnen?

Cöster 9. Dez 2006 12:55

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

Ruffy87 19. Dez 2006 19:45

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?)

mkinzler 19. Dez 2006 19:48

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.

Ruffy87 19. Dez 2006 21:22

Re: Signifikante Stellen
 
Aber warum können den die signifikanten Stellen nicht gleich den möglichen Stellen sein?
Das ist mir noch nicht klar.

mkinzler 19. Dez 2006 21:24

Re: Signifikante Stellen
 
Zitat:

Aber warum können den die signifikanten Stellen nicht gleich den möglichen Stellen sein?
Weil wie esagt, die Position des Kommas seperat gespeichert wird.
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.
Seite 1 von 2  1 2      

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