2010-03-22 27 views
6

Come lavorare con grandi numeri in PHP?Come lavorare con grandi numeri in PHP?

come

(6*27^0+17*27^1+11*27^2+18*27^3+25*27^4+4*27^5)^65537 
+0

penso che questo numero adattarsi a un normale int. Ok, era prima che mettessi il^65537 alla fine. –

+1

Controllare http://stackoverflow.com/questions/211345/working-with-large- numbers-in-php –

risposta

6

Si può andare per BCMath per lavorare con grandi numeri.

4

GMP è più veloce di BCMath per bigintegers se è installato. Se non hai installato né BCMath né GMP, puoi utilizzare phpseclib's pure-php biginteger implementation.

Tale implementazione utilizza GMP o BCmath se sono disponibili, in questo ordine, ed è la propria implementazione interna altrimenti.

1

Data la domanda titolo, suppongo che l'OP significasse ^ come un potere oper ator e non PHP XOR operator, anche se i numeri reali mi fanno dubitare.

questo può essere realizzato utilizzando il Brick\Math libreria (disclaimer: ho creato è):

use Brick\Math\BigInteger; 

// Not using BigInteger just yet as the numbers are small, although we could 
$value = 6 * 27 ** 0 
     + 17 * 27 ** 1 
     + 11 * 27 ** 2 
     + 18 * 27 ** 3 
     + 25 * 27 ** 4 
     + 4 * 27 ** 5; 

echo BigInteger::of($value)->power(65537); // 529970661615774734826076722083948398443... 

Ti sto risparmiando il resto delle cifre 514566 :)

+1

Intendevo power operator. – Pentium10