Mailinglist Archive: opensuse-programming-de (174 mails)

< Previous Next >
Re: long double
  • From: Bernhard Walle <Bernhard.Walle@xxxxxx>
  • Date: Sat, 10 Jan 2004 20:54:56 +0100
  • Message-id: <20040110195456.GB30028@xxxxxxxxxxxxxxx>
* Philipp Otte <scouter_84@xxxxxx> [2004-01-10 14:31]:
> Hi,
> Wie kann ich noch größere Genauigkeit bekommen, als über long double?
> philipp

nicht über eingebaute Datentypen.

Du könntest darüber nachdenken Java zu nehmen, da ist eine Bibliothek
für sowas schon dabei und Dein Lehrer hätte keine Probleme mit Windows.

Würde dann beispielsweise so aussehen:

-------------------- 8< ----------------------------------------
import java.math.BigDecimal;

class Test
{
public static void main (String[] args)
{
BigDecimal big = new BigDecimal("1.000000000000000001000000000000000000000000000000000");
final BigDecimal TEN = new BigDecimal("10");

for (int i = 0; i < 10; ++i)
{
big = big.divide(TEN, BigDecimal.ROUND_HALF_UP);
System.out.println(big);
}
}
}
--------------------- >8 -----------------------------------------

Ausgabe ware dann:
[~] $ java Test
0.100000000000000000100000000000000000000000000000000
0.010000000000000000010000000000000000000000000000000
0.001000000000000000001000000000000000000000000000000
0.000100000000000000000100000000000000000000000000000
0.000010000000000000000010000000000000000000000000000
0.000001000000000000000001000000000000000000000000000
0.000000100000000000000000100000000000000000000000000
0.000000010000000000000000010000000000000000000000000
0.000000001000000000000000001000000000000000000000000
0.000000000100000000000000000100000000000000000000000

Wäre für Deinen Fall fast am einfachsten, außer die Sprache ist Dir
vorgegeben oder Du darfst externe Libraries verwenden.


Gruß,
Bernhard

--
_________ http://www.bwalle.de _________________________________________________
Eine Investition in Wissen bringt noch immer die besten Zinsen.
-- Benjamin Franklin

< Previous Next >
References