举例:
JS:
5>>>2
PHP
function uright($a, $n) { $c = 2147483647 >> ($n - 1); return $c & ($a >> $n); } uright(5,2);
如遇到右移0位可使用以下函数
function uint32val($var) { if (is_string($var)) { if (PHP_INT_MAX > 2147483647) { $var = intval($var); } else { $var = floatval($var); } } if (!is_int($var)) { $var = intval($var); } if ((0 > $var) || ($var > 4294967295)) { $var &= 4294967295; if (0 > $var) { $var = sprintf('%u', $var); } } return $var; }
实现思路我也没大明白 这种东西不常用,我是因为在一次爬虫的时候了解的
其他地方也有同样的,在这里整理一下。