PHP运算符“结果不一致”的问题与解决方法

从node里搬来一个 签名运算:

JS:731740861 ^ 2746333894  = -2010333061  

 

到php 里 进行运算,结果不一致:

731740861 ^ 2746333894   =  2284634235

 

解决办法

下面用PHP写一个方法,代码如下:

function bit_xor()
    {
        $arr = func_get_args();
        $t=0x00000000;
        foreach($arr as $v)
        {
            $t^=($v & 0xFFFFFFFF);
        }
        return $t & 0x80000000 ? $t | 0xFFFFFFFF00000000 : $t & 0xFFFFFFFF;
    }
    A+
发布日期:2021年04月07日 21:51:41  所属分类:PHP
最后更新时间:2021-04-07 21:51:41
评分: (1 票;平均数5.00 ;最高评分 5 ;用户总数1;总得分 5;百分比100.00)
头像
微信小程序前后端全栈开发 (Node.js+Express)
  • ¥ 39.0元
  • 市场价:39.0元
vue.js视频教程:全新 Vue.js 2.6 核心技术合集
  • ¥ 69.0元
  • 市场价:69.0元
SEO顾问 单站最低999元 整站全方位优化
SEO顾问 单站最低999元 整站全方位优化
  • ¥ 999元
  • 市场价:4999元
JAVA从入门到精通视频教程(实战)
  • ¥ 99.0元
  • 市场价:99.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: