小编Y.H*_*mes的帖子

在Bitwise Operations中PHP的Infinit值返回奇怪的值

今天我刚刚做了一个有趣的发现,同时测试了在php中按比例计算发生的事情INF ^ 0(^=> Bitwise Operator for Exclusive OR(XOR))是什么让我int(-9223372036854775808)在64位系统中得到了最大可能的负值.

但后来我问自己:"为什么当"正无限"意味着9223372036854775807(63位1有一个领先0)和0(64位0=> 0 xor 0 = 0)时XOR的结果为负,但PHP的无限值是什么,什么是它背后的计算?当我使用"负无限"时,为什么我得到一个(正确的?)负值(1一个领先0于0 => 1 xor 0 = 1?).

另一个有趣的观点是,这只发生在PHP版本5.5.9-1上,而不是发生在例如5.3.x上.和5.6.x(我已经测试过了)!也许有人知道那里会发生什么?在三个版本上测试它,但我的(5.5.9-1)给出了这些结果:

按位运算

只是为了让你们知道,这只是一个抽象的游戏,我为了好玩而做,但我发现它很有趣.也许有人可以在这帮助或解释我错误的想法?告诉我,如果有人需要更多关于任何事情的信息!

编辑:相应于jbafford,获得完整的答案会很棒,所以我只想引用他: why does 5.5 and 5.6 result in PHP_INT_MIN, and everything else return 0?

php bit-manipulation

17
推荐指数
1
解决办法
552
查看次数

在JQuery中比较两个相同的字符串会返回false

我发现了一个有趣的问题,来自JQuery的AJAX请求的回显值,我没有回答:

data == "LOCKED"永远不会回归真(第13行)!

JQuery - >按下单击时调用AJAX:

$.ajax({
        url: "ajax/login_ajax_call.php",
        method: "POST",
        data: { user: usr, password: pwd }
    }).done(function(data){
            if(data == true || data == "true"){          // -> this works with data beeing true (bool) or "true" (string)
                $("#form_submit").submit();
            }
            else{
                console.log(jQuery.type(data));          // -> (string)
                console.log(data);                       // -> "LOCKED" 
                console.log(jQuery.type("LOCKED"));      // -> (string)
                if(data == "LOCKED"){                    // also tried "===" but it never returns true
                    [...]            
                }
                else{
                    [...]
                }
            }
    }); 
});             
Run Code Online (Sandbox Code Playgroud)

PHP(1) - >获取类返回的值(PHP(2)): …

javascript php ajax jquery

0
推荐指数
1
解决办法
1805
查看次数

标签 统计

php ×2

ajax ×1

bit-manipulation ×1

javascript ×1

jquery ×1