2010-03-22 6 views
6

Comment travailler avec de grands nombres en PHP?Comment travailler avec de grands nombres en PHP?

tels que

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

Je pense que ce nombre s'intègre dans un int normal. Ok, c'était avant de mettre le^65537 à la fin. –

+1

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

Répondre

6

Vous pouvez aller BCMath pour travailler avec de grands nombres.

4

GMP est en fait plus rapide que BCMath pour les gros disques si vous l'avez installé. Si vous n'avez pas installé BCMath ou GMP, vous pouvez utiliser phpseclib's pure-php biginteger implementation. Cette implémentation utilise GMP ou BCmath si elles sont disponibles, dans cet ordre, et sa propre implémentation interne dans le cas contraire.

1

Compte tenu de la question titre, je suppose que l'OP signifiait ^ comme un ator et pas PHP XOR operator, bien que les chiffres réels me font douter.

Ceci peut être réalisé en utilisant la bibliothèque Brick\Math (disclaimer: J'Authored il):

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

Je vous épargne le reste des chiffres 514566 :)

+1

Je voulais dire opérateur de puissance. – Pentium10

Questions connexes