Article View: de.comp.lang.c++
Article #942Re: Bit-Schieberei mit Float
From: Karl-Heinz Krause
Date: Sat, 02 Dec 1995 16:02
Date: Sat, 02 Dec 1995 16:02
36 lines
1824 bytes
1824 bytes
Am 1. Dez. 1995 schrieb Wolfgang Gillich (Wolfgang.Gillich@Materna.DE):
> Hallo,
> mit Bezug auf die Artikel Float-Format und um wieder direkt auf C
> oder C++ zurueckzukommen.
> Da ich nur die ersten 10 (15;20) Stellen hinterm Komma fuer ein
> numerischen Naeherungsverfahren brauche; kopieren ich den Wert
> in ein CString und greife mir die entsprechenden Stellen raus.
> Dies ist allerdings sehr Zeit- und Rechenaufwendig.
> Was ich suche ist ein effektives, also schnelles Verfahren, aehnlich
> wie die Bit-Schieberei bei Int-Werten.
Mir ist nicht ganz klar, was Du mit "die ersten 10 Stellen hinterm Komma
brauchen" meinst.
1. Geht es darum, daß Du bei der Ausgabe eines Ergebnisses nur die
ersten 10 Stellen benötigst? Das geht einfach mit
printf ("%.10f", x);
2. Oder willst Du Dich schon beim Berechnungsvorgang auf die ersten
10 Stellen beschränken? Aber warum? Eigentlich gibt es nur einen
vernünftigen Grund, warum man das tun soll: Du willst ein Nähe-
rungsverfahren so lange wiederholen, bis zwei Zahlen sich in den
ersten 10 Stellen nicht mehr unterscheiden. Das würde ich unge-
fähr so machen:
double eps = 1e-10;
while ( abs(a-b) >= eps ) ...
Karl-Heinz Krause
Technical Details
Message-ID:
<49ptav$rfn@news00.btx.dtag.de>Path:
arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mailReferences:
<49mtaa$k16@peanuts.Materna.DE>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail From: Krause@btx.dtag.de (Karl-Heinz Krause) Newsgroups: de.comp.lang.c++ Subject: Re: Bit-Schieberei mit Float Date: 2 Dec 1995 16:02:39 GMT Organization: Telekom Online Internet Gateway Message-ID: <49ptav$rfn@news00.btx.dtag.de> References: <49mtaa$k16@peanuts.Materna.DE> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Sender: 0913148778-0001@btx.dtag.de (Karl-Heinz Krause) X-Newsreader: Forte Free Agent 1.0.82