PHP整数按位异或运算符^运算解析:12^9结果为5的原理
为什么
12 ^ 9在PHP中输出5? 嘿,这其实是个很容易踩的小坑——在PHP里,^符号不是幂运算,而是**按位异或(XOR)**操作符!咱们一步一步拆解这个运算:
先把两个数转成二进制:
- 十进制12的二进制是
1100 - 十进制9的二进制是
1001
- 十进制12的二进制是
按位异或的规则很简单:对应二进制位上的数字相同则结果为0,不同则结果为1。咱们逐位对比:
- 第1位(最高位):1 vs 1 → 0
- 第2位:1 vs 0 → 1
- 第3位:0 vs 0 → 0
- 第4位(最低位):0 vs 1 → 1
把得到的二进制结果
0101转成十进制,就是5啦!
另外补充一句:如果你的本意是求12的9次方(幂运算),PHP里应该用**操作符,比如:
<?php $a = 12 ** 9; echo $a; ?>
这个会输出106993205379072,才是你可能一开始以为的幂运算结果。
内容的提问来源于stack exchange,提问作者user8762279
相关产品推荐
相关产品推荐

