ホームページ >バックエンド開発 >PHPチュートリアル >32 ビット システムでは左シフトでオーバーフローしますが、64 ビット システムではオーバーフローしません。32 ビットの左シフトの結果は 64 ビット システムで保持できますか?
echo 83661<<15;//32系统结果:-1553563648
echo 83661<<15;//64系统结果:2741403648
$n = 83661<<15;printf("有符号:%d 无符号:%u 二进制:%032b", $n, $n, $n);
$n = 83661<<15;printf("有符号:%d 无符号:%u 二进制:%032b", $n, $n, $n);
分からないの?
同じものです
分かりませんか?
これらは同じものです
$n = 83661<<15;printf("%d",$n);//结果还是2741403648-1553563648
echo 2741403648 - 0x100000000;-1553563648