🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Bit-Schieberei mit Float

#942
From: Karl-Heinz Krause
Date: Sat, 02 Dec 1995 16:02
36 lines
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-mail
References: <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