phpで2の2000乗をするとどうなるか?
私の知人が、Twitterでちょっと話題になっていた?(調べていないので、詳しくは分かりませんが)pythonのint型を2条し続けると桁数が増えてすごい長い数値が表示される…という話をしていました。
…それでは、私がよく仕事で使っているPHPでやってみるとどうなるか?
ふだんそんな大きな数値を求める計算はしませんが、試してみることにしました。
ひとまず、こんなコードを書いてみました。
<?php
// 2の1乗
echo pow(2, 1). "\n";
// 2の2乗
echo pow(2, 2). "\n";
// 2の3乗
echo pow(2, 3). "\n";
// 2のn条(4乗から2000乗)
for($i = 4; $i < 2001; $i++){
echo pow(2, $i). "\n";
sleep(1);
}
※1秒ごとに2を乗数倍した結果を返して行きますが…ある数字を境に指数表現に変わり最終的にINFという無限を意味する定数になってしまうようです。
pythonと比べると大きい数字を扱う精密な計算にphpは向いていないということが言えそうですね。
疑問に思うことがあったら短いコードを書いて実験してみるといいですね。