举例:
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;}
实现思路我也没大明白 这种东西不常用,我是因为在一次爬虫的时候了解的
其他地方也有同样的,在这里整理一下。
记一次PHP实现JS的无符号右移(>>>)
原文地址:https://www.cnblogs.com/ningmeng666/p/9249108.html