码迷,mamicode.com
首页 > Web开发 > 详细

记一次PHP实现JS的无符号右移(>>>)

时间:2018-07-01 00:23:49      阅读:497      评论:0      收藏:0      [点我收藏+]

标签:整理   amp   举例   sprint   uri   color   span   实现   lse   

举例:

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的无符号右移(>>>)

标签:整理   amp   举例   sprint   uri   color   span   实现   lse   

原文地址:https://www.cnblogs.com/ningmeng666/p/9249108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!