🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1914

Fehler in der floor()-Routine aus math.h ?

#1914
From: Jörg-Peter Reich
Date: Tue, 26 Mar 1996 17:15
33 lines
1345 bytes
Hi,

ich hab folgendes Problem:

Bei manchen Zahlen errechnet die 'floor()'-Routine aus
'math.h' falsche Ergebnisse.  Der Fehler scheint nicht
rechnerabhängig zu sein (tritt bei Pentium und 486er
gleichermaßen auf).  Auch verschiedene Versionen des
Borland-C++-Compilers machen immer denselben Fehler.



#include<iostream.h>
#include<math.h>

int main()
{
  double x = 6.4 / 0.8;
  double y = 4.8 / 0.8; // Ausgabe:
  cout<<x<<endl;        // "8"  (ok)
  cout<<y<<endl;        // "6"  (ok)
  cout<<floor(x)<<endl; // "8"  (ok)
  cout<<floor(y)<<endl; // "5"  (falsch !)
  return 0;
};

Ich nehme an, daß rechnerintern anstatt 4.8 / 0.8 = 6
ein Wert etwas kleiner als 6 rauskommt.  Aber mit dieser
Erkenntnis ist mir nicht geholfen. Weiß irgendwer weiter ???

(email: reich@rummelplatz.uni-mannheim.de)

Ciao,  Jörg.  :-(
Technical Details
Message-ID: <3158263C.1165@rummelplatz.uni-mannheim.de>
Path: arc1-ca.pugleaf.net!news.uni-mannheim.de!news

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.uni-mannheim.de!news
From: Jörg-Peter Reich <reich@rummelplatz.uni-mannheim.de>
Newsgroups: de.comp.lang.c++
Subject: Fehler in der floor()-Routine aus math.h ?
Date: Tue, 26 Mar 1996 18:15:40 +0100
Organization: Universität Mannheim
Message-ID: <3158263C.1165@rummelplatz.uni-mannheim.de>
NNTP-Posting-Host: rummelplatz.uni-mannheim.de
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Mailer: Mozilla 2.0 (Win95; I)