PHPで大きな数を処理する方法は?
そのような
(6*27^0+17*27^1+11*27^2+18*27^3+25*27^4+4*27^5)^65537
あなたはBCMathが大きな数で働くために行くことができます。
GMPは、インストールされている場合、bigintegersのBCMathよりも実際に高速です。BCMathもGMPもインストールされていない場合は、phpseclibのpure-phpbiginteger実装を使用できます。
その実装は、GMPまたはBCmathが利用可能な場合はその順序で使用し、それ以外の場合は独自の内部実装を使用します。
多くのオプションがあります:
質問のタイトルを考えると、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桁は節約します:)