2010-03-22 49 views
6

¿Cómo trabajar con números grandes en PHP?¿Cómo trabajar con números grandes en PHP?

como

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

creo que este número se encajar en una int normal De acuerdo, eso fue antes de que pusieras el^65537 al final. –

+1

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

Respuesta

6

Usted puede ir para BCMath para trabajar con números grandes.

4

GMP es realmente más rápido que BCMath para bigintegers si lo tienes instalado. Si no tiene instalado BCMath o GMP, puede usar phpseclib's pure-php biginteger implementation.

Esa implementación utiliza GMP o BCmath si están disponibles, en ese orden, y su propia implementación interna de lo contrario.

1

Dada la cuestión título, supongo que el OP significaba ^ como un poder operativo ator y no PHP XOR operator, aunque los números reales me hacen dudar.

Esto se puede lograr mediante el Brick\Math biblioteca (exención de responsabilidad: mi autoría que):

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... 

te lo perdonarán al resto de los dígitos 514566 :)

+1

Quise decir operador de potencia. – Pentium10

Cuestiones relacionadas