7

PHPで大きな数を処理する方法は?

そのような

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

4 に答える 4

8

あなたはBCMathが大きな数で働くために行くことができます。

于 2010-03-22T09:00:31.127 に答える
4

GMPは、インストールされている場合、bigintegersのBCMathよりも実際に高速です。BCMathもGMPもインストールされていない場合は、phpseclibのpure-phpbiginteger実装を使用できます。

その実装は、GMPまたはBCmathが利用可能な場合はその順序で使用し、それ以外の場合は独自の内部実装を使用します。

于 2012-06-18T04:04:37.427 に答える
1

多くのオプションがあります:

于 2014-01-03T17:53:08.687 に答える
1

質問のタイトルを考えると、OPは^PHPのXOR演算子ではなく、累乗演算子を意味していると思いますが、実際の数値には疑問があります。

これは、 Brick \ Mathライブラリを使用して実現できます(免責事項:私が作成しました):

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

残りの514566桁は節約します:)

于 2017-08-26T11:07:56.203 に答える