Shifting includes left shift with sign (<<), right shift with sign (>>), right shift without sign (>>)
function zy32($n,$m){ return (($n << $m) << 32) >> 32;}
function uright($a, $n) { $c = 2147483647>>($n-1); return $c&($a>>$n); }
Shifting includes left shift with sign (<<), right shift with sign (>>), right shift without sign (>>)
function zy32($n,$m){ return (($n << $m) << 32) >> 32;}
function uright($a, $n) { $c = 2147483647>>($n-1); return $c&($a>>$n); }