Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   float-Wert in Gleitkommadarstellung (https://www.delphipraxis.net/35242-float-wert-gleitkommadarstellung.html)

zappel 4. Dez 2004 11:32


float-Wert in Gleitkommadarstellung
 
Hallo!

Ich habe ein Problem, komme aber absolut nicht auf die Lösung!

Wie kann ich die Gleitkommadarstellung eines float-Wertes ermitteln?

0.3f z.B. ergibt ja 0.30000001192092896

Ich habe aber nun keine Ahnung, wie ich diesen Wert ermitteln kann?

Jelly 4. Dez 2004 11:49

Re: float-Wert in Gleitkommadarstellung
 
Zitat:

Zitat von zappel
0.3f z.B. ergibt ja 0.30000001192092896

:gruebel: :gruebel: :gruebel:
Sorry, irgendwie versteh ich nicht was du willst? Kannst du versuchen dich nochmals zu erklären.

fiasko 4. Dez 2004 12:16

Re: float-Wert in Gleitkommadarstellung
 
Zitat:

Zitat von zappel
Wie kann ich die Gleitkommadarstellung eines float-Wertes ermitteln?

Der Typ float ist ein Gleitkommatyp - :wiejetzt:

zappel 4. Dez 2004 12:21

Re: float-Wert in Gleitkommadarstellung
 
Sorry, bin wohl nicht deutlich genug geworden. Ich versuchs nochmal! :wink:

Wenn ich mir 0.3f vom PC ausspucken lasse, kommt da nich 0.3 raus, sondern der oben beschriebene Wert. Wie kann ich diesen Wert ermitteln? Damit meine ich: Wie kann ich das nachrechnen, was der PC gerechnet hat? Was müsste ich also machen, wenn ich diese Berechnung auf einem Blatt Papier machen will?

jfheins 4. Dez 2004 12:22

Re: float-Wert in Gleitkommadarstellung
 
Ich glaube, er möchte statt
Code:
4,07066677521779E-5
folgendes haben
Code:
0,0000407066677521779
Mist, zu langsam ... :oops:

Zu deinem Problem: Der Computer kann nicht alle zahlen darstenn, da es unendlich viele gibt, er aber nur begrenzt speicher hat. Du wirst wohl oder übel mit der Ungenauigkeit leben müssen ...

Tubos 4. Dez 2004 12:22

Re: float-Wert in Gleitkommadarstellung
 
Ich nehme mal stark an, es geht um C++.
Wenn du einen String haben willst der die Zahl enthält kannst du das so machen:
Code:
float f=0.5;
char string[30];
sprintf(string,"%.5f",f);
Aber was meinst du damit?
Zitat:

0.3f z.B. ergibt ja 0.30000001192092896
0.3 ist 0.3, und nicht 0.30000001192092896!
Woher hast du diese Zahl?

Chewie 4. Dez 2004 12:25

Re: float-Wert in Gleitkommadarstellung
 
Die Vorgehensweise wird in der IEEE-Veröffenbtlichung 754. Also einfach mal hier oder bei Google danach suchen:
Hier im Forum suchenIEEE 754
Bei Google suchenIEEE 754

nailor 4. Dez 2004 12:25

Re: float-Wert in Gleitkommadarstellung
 
anscheindend kann man mit einem float 0.3 nicht genau darstellen und der compiler nimmt dann halt 0.300000000000XXX weil er das darstellen kann. und nun ist die frage, welchen wert er nimmt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz