関数のPHP マニュアル ページの例 #2 は次のとおりです。dechex()
// The output below assumes a 32-bit platform.
// Note that the output is the same for all values.
echo dechex(-1)."\n";
echo dechex(PHP_INT_MAX * 2 + 1)."\n";
echo dechex(pow(2, 32) - 1)."\n";
上記の例では、次のように出力されます。
ffffffff
ffffffff
ffffffff
x64 システムでその動作を再現しようとしています:
echo dechex(-1)."\n";
echo dechex(PHP_INT_MAX * 2 + 1)."\n";
echo dechex(pow(2, 64) - 1)."\n";
私は期待している :
ffffffffffffffff
ffffffffffffffff
ffffffffffffffff
しかし、私は得る:
ffffffffffffffff
0
0
ここで何が起こっているのですか?