2010-03-22 15 views
6

Wie arbeite ich mit großen Zahlen in PHP?Wie mit großen Zahlen in PHP arbeiten?

wie

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

denke ich, diese Zahl wird passt in einen normalen int. Okay, das war bevor du den^65537 am Ende gestellt hast. –

+1

Check http://StackOverflow.com/Questions/211345/working-with-Large-Numbers-in-PHP –

Antwort

6

können Sie gehen für BCMath mit großen Zahlen zu arbeiten.

4

GMP ist tatsächlich schneller als BCMath für bigintegers, wenn Sie es installiert haben. Wenn Sie weder BCMath noch GMP installiert haben, können Sie phpseclib's pure-php biginteger implementation verwenden.

Diese Implementierung verwendet GMP oder BCmath, wenn sie verfügbar sind, in dieser Reihenfolge, und es ist ansonsten eine eigene interne Implementierung.

1

die Frage Gegeben Titel, ich gehe davon aus, dass das OP ^ als Poweroper bedeutete Ator und nicht PHP's XOR operator, obwohl die tatsächlichen Zahlen mich Zweifel machen.

Dies kann mit dem Brick\Math Bibliothek erreicht werden (Haftungsausschluss: Ich verfasste es):

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

ich dir den Rest der 514.566 Ziffern bin sparsam :)

+1

Ich meinte Power Operator. – Pentium10

Verwandte Themen