it4baer
Goto Top

Javascript rechnen mir sehr sehr großen Zahlen

Hallo,

ist es möglich in Javascript mit extrem großen Zahlen zu rechnen . z.B. 783^98

bekannterweise werden ja normale Floatzahlen falsch gerundet oder ab ner gewissen Größe abgeschnitten...

leider habe ich noch keine echten Ansätze...

Vielen Dank

Content-Key: 329602

Url: https://administrator.de/contentid/329602

Ausgedruckt am: 19.03.2024 um 03:03 Uhr

Mitglied: TheJoker2305
TheJoker2305 16.02.2017 um 09:15:25 Uhr
Goto Top
Hallo,

um welche Berechnungen geht es genau?
Sind alle Stellen der Zahlen "gefüllt" oder handelt es sich um viele "0"-Stellen.

768.000.000.000.000.000 .....

dann könnte man nur die führenden Stellen für die Berechnung nehmen und am Ende die "0" wieder anfügen.

Gruß thejoker2305
Mitglied: it4baer
it4baer 16.02.2017 um 09:36:29 Uhr
Goto Top
Naja, wie schon gesagt, es geht eben genau um die Einerstellen...

3,878400745936512704068110287983e+283

ebenso sind Moduloberechnungen erwünscht... wobei ich da "jede einzelne" multiplikation einfach aufaddieren könnte (somit kommts nie zu großen Zahlen). Aber trotzdem wäre eine Berechnung erwünscht, in dem fall hier oben mit 283 Nachkommastellen (es muss ja nicht "sehr schnell sein")
=> vermutlich werd ich auf C++ umsteigen "müssen" ... aber es ist schon fast eine "Machbarkeitsstudie" mich würde interessieren ob Javascript das "hinbekommen" würde
Mitglied: AndreasHoster
AndreasHoster 16.02.2017 um 11:48:58 Uhr
Goto Top
Erster Ansatz: Google fragen
Eine Suche mit JavaScript decimal ergibt gleichmal als obersten Treffer:

GitHub - MikeMcl/decimal.js: An arbitrary-precision Decimal type for ...
https://github.com/MikeMcl/decimal.js/
The library is similar to bignumber.js, but here precision is specified in terms of significant digits rather than decimal places, and all calculations are rounded to ...

Klingt doch sehr nach dem, was Du haben willst (ohne es mir genau angeschaut zu haben). Und mit bignumber.js gibt es gleich einen alternative Suchbegriff, falls die Lösung nicht überzeugt.