記一次PHP實現JS的無符號右移(>>>)
阿新 • • 發佈:2018-07-01
cti UNC 爬蟲 val 無符號 ret IV 使用 pri
舉例:
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的無符號右移(>>>)