• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Potenzen in JAVA

NEMESIS-2004

Anwärter/in
Mitglied seit
13.03.2004
Beiträge
26
Reaktionspunkte
0
Hallo

wie berechne ich in JAVA Potenzen in der Größenordnung von 30^23?

Kleine Potenzen sind ja kein Problem, aber bei so großen kommen bei mir immer falsche Werte raus.
 
Math.pow(30, 23) ergibt bei mir 9.414317882700001E33.

http://www.google.de/search?q=30^23
 
bsekranker am 28.06.2009 16:11 schrieb:
Math.pow(30, 23) ergibt bei mir 9.414317882700001E33.

http://www.google.de/search?q=30^23


Ja, und genau das ist falsch.

Dein Wert oben ist gerundet.
Überprüf dein Ergebnis mal mit dem Windowstaschenrechner.

Ich bräuchte den EXTAKTEN Wert. Aber bei 9.414317882700001E33 sind die letzten paar Stellen abgeschnitten. :(
 
Das dürfte wohl daran liegen, dass Math.pow double als Datentyp verwendet.
Kannst ja in ner Schleife die Multiplikation mit ner BigNum Variable durchführen.
 
Onlinestate am 28.06.2009 17:04 schrieb:
Das dürfte wohl daran liegen, dass Math.pow double als Datentyp verwendet.
Kannst ja in ner Schleife die Multiplikation mit ner BigNum Variable durchführen.

Was ist BigNum? :confused:
 
NEMESIS-2004 am 28.06.2009 16:47 schrieb:
bsekranker am 28.06.2009 16:11 schrieb:
Math.pow(30, 23) ergibt bei mir 9.414317882700001E33.

http://www.google.de/search?q=30^23


Ja, und genau das ist falsch.

Dein Wert oben ist gerundet.
Überprüf dein Ergebnis mal mit dem Windowstaschenrechner.

Ich bräuchte den EXTAKTEN Wert. Aber bei 9.414317882700001E33 sind die letzten paar Stellen abgeschnitten. :(
Das wirst du mit elementaren Datentypen aber nicht hinkriegen, siehe IEEE 754. Davon abgesehen ist es unsinnig bei Gleitkommazahlen von "falsch" und "richtig" zu sprechen - es gibt nur "genauer" und "ungenauer".


Vielleicht hilft dir java.math.BigDecimal.
 
Onlinestate am 28.06.2009 17:17 schrieb:
NEMESIS-2004 am 28.06.2009 17:05 schrieb:
Ist glaub ein dynamisches Array oder eine Liste von Zahlen. Gibts glaub auch nur für Ganzzahlen und keine Fließkomma.
BigInteger und BigDecimal gibts da anscheinend zur Auswahl.
Bignum wurde afaik schon vor Ewigkeiten (1.1?) durch BigInteger und BigDecimal ersetzt.
 
Zurück