我正在运行PHP的64位安装,并且据我了解,没有办法将变量专门声明为32位unsigned int
。
以以下代码为例:
$test1 = 0x5BE0CD19;
$test2 = 0x3587272B;
$test3 = 0x1F85C98C;
$test4 = 0x428A2F98;
$test5 = 0x61626380;
$test6 = ($test1 + $test2 + $test3 + $test4 + $test5);
给我结果0x154da50e8
当前,我执行以下操作以将变量屏蔽为32位:
$test6 &= (1 << 32) - 1;
我得到了期望的结果:0x54da50e8
出于性能原因,我想知道,是否有更好的方法来执行此操作,而不必在发生溢出的情况下对每个变量使用&= (1 << 32) - 1;
?
经常在每次计算的基础上向每个变量添加掩码,这很混乱。
谢谢