Hallo,
also ich möchte in JavaScript zwei größere Zahlen protenzieren, allerdings soll das Ergebnis nicht als 10er Potenz ausgegeben werden, denn ich brauche die genaue Zahl.
Hab z.B. folgenden Script:
var asciiberechnen = 111222333444555666;
var E = 17;
C = Math.pow(asciiberechnen,E);
alert(C);Da kommt dann etwas mit 6e+289, allerdings bräuchte ich 60000000000000....
Wenn PHP verfuegbar ist und die BCD-Funktionen (BCD = Binary Coded Decimals) aktiv sind [siehe phpinfo()], dann nutze bcpow():
<?php
$asciiberechnen = "111222333444555666";
$E = "17";
$C = bcpow($asciiberechnen,$E);
print $C;
/*
Ergebnis:
6099075924115883127911743897498298308354007530017057842
2904869138076243925229027249034173855139308432303102869
9892280204740789114114365252708979541242203333657311656
0695861893002965852735198820161008002100459397450860395
6144859899398318795917836907849768332141341433294854124
361277148102656
*/
?>
Ansonsten suche nach Routinensammlungen, die die BCD-Funktionen implementieren und portiere diese nach JS.
Es gibt solche Routinen im Quellcode z. B. fuer diverse BASIC-Dialekte im kommerziellen Paket "ProMath" von TeraTech: http://www.teratech.com/product/productdetail.cfm?product=PM3. Mein Testbericht zur Version 2.0 (aktuell 3.0) beschreibt die wesentlichen Techniken: http://www.et.fh-merseburg.de/person/meinike/PDF/bp295tm.pdf.
MfG, Thomas