我可以知道我该怎么办PHP >>>?这些运算符在PHP中不可用,但可以使用Javascript。PHP等效javascript >>>右移零填充按位运算符?
我好不容易才发现的功能如下:
function zeroFill($a, $b)
{
$z = hexdec(80000000);
if ($z & $a)
{
$a = ($a>>1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a>>($b-1));
}
else
{
$a = ($a>>$b);
}
return $a;
}
但不幸的是,它并不完美。
EG:-1149025787 >>> 0 的Javascript返回3145941509 PHP ZEROFILL()返回0
你能描述什么不顺心呢? – Cam 2010-04-15 01:07:55
我想你已经看过:http://php.net/manual/en/language.operators.bitwise.php – 2010-04-15 01:20:17
@incrediment: 在近百个结果中只有1个是不正确的: -1149025787 >>> 0 在JavaScript返回3145941509 ,但在zeroFill()上面,它只是返回0. – neobie 2010-04-15 02:12:53