Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Vergleich von Flieskommazahlen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
08.07.2006, 10:22 Uhr
(un)wissender
Niveauwart


Tja scheint leider zu stimmen (mit double geht es, aber man muss die Zahlen dann nur größer machen):


C++:
float a1 = 51234.1f;
a1 *= 79.6787f;
std::cout << std::boolalpha << fl::eq(a1, 4082266.48367f) << std::endl;



Wie scheiße (sorry!) sind den bitte Flieskommazahlen? Die sind für echte Berechnungen nicht zu gebrauchen.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
08.07.2006, 10:29 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja liegt einfach am speicherformat einer fliesskommavariablen, je höher dein exponent ist, um so "ungenauer" wird er ja dadurch im endeffekt.

float:
1 sign, 8 exponent, 23 mantisse

wenn du halt

4124353457567344453657645345345344.45454

hast, kann er das so halt gar nicht speichern weil er eben nur 23 bits für den "Wert" zu verfügung hat
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
08.07.2006, 10:40 Uhr
(un)wissender
Niveauwart


Ja. Macht das ganze auch nicht besser.
Sehr gut zu lesen:
www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
Und ich dachte es wäre einfach. So kann man sich irren.


Bearbeitung:

Für alle, die es formal mögen: http://docs.sun.com/source/806-3568/ncg_goldberg.html


--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 08.07.2006 um 10:53 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
08.07.2006, 12:11 Uhr
ao

(Operator)



Zitat von (un)wissender:
Wie scheiße (sorry!) sind den bitte Flieskommazahlen? Die sind für echte Berechnungen nicht zu gebrauchen.

Zum Rechnen schon. Nur beim Vergleichen und Entscheiden muss man aufpassen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
08.07.2006, 14:11 Uhr
(un)wissender
Niveauwart


Na ja, selbst beim Rechnen muss man sehr aufpassen mit den kummulierten Fehlern.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: