我想匹配 64 位和 32 位系统中的整数值,这是我的 PHP 脚本的示例
function integer_hash_aritmathic ($value)
{
$maxVal = 2147483647 & 0xFFFFFFFF;
$minVal = -2147483648 & 0xFFFFFFFF;
$hash = 0;
for ($i = 0; $i < strlen($value); $i++)
{
$hash = (intval($hash) * 31) + ord($value[$i]);
if ($hash > $maxVal) $hash = $hash + $minVal - $maxVal - 1;
else if ($hash < $minVal) $hash = $hash + $maxVal - $minVal + 1;
}
return (int)$hash;
}
echo integer_hash_aritmathic ('21512510');
32位系统输出:-951649475
64位系统输出:1283243572029
我希望在 32 位的 64 位系统上获得相同的结果,值为 -951649475,请帮助我...谢谢,对不起,我的英语不好...