PHP の左シフト関数の動作について非常に混乱しています。私は2つの異なるマシン(開発とホスティング)でそれを使用していますが、彼らは私に異なる答えを与えています. 私はこの計算にそれを追跡しました:
(-3941404251) << 5;
あるマシンでは、答えは -1570884448 です。どちらのシステムでも、PHP_INT_MAX = 2147483647 です。後者は 32 ビット システムで、最初のシステムは 64 ビットですが、php は 32 ビット プロセスとして実行されており、同じ答えが得られます。
これは 32 ビットと 64 ビットの問題だとしか思えませんが、目的の動作を実現する簡単な方法はありますか。誰かが私に関数か何かを教えてくれたら、それは素晴らしいことです.
ありがとう!