inf*_*iac 94 php bit-manipulation bitwise-operators operator-precedence
我遇到过一个(看似很奇怪的)非常奇怪的案子.
取数字2(0b10)并用1(0b01)进行位掩码
这应该产生0b00相当于0的东西.
然而,这里是薛定谔先生进来的地方:
var_dump(0b10 & 0b01); // int(0)
var_dump(0b10 & 0b01 == 0); // int(0)
var_dump(0b10 & 0b01 != 0); // int(0)
Run Code Online (Sandbox Code Playgroud)
威士忌酒.探戈.狐步舞.
不可否认,对于按位运算符来说,我并不是最敏锐的 - 所以也许我在某个地方有可怕的,可怕的错误?
但是,在Python中:
0b10 & 0b01 == 0 = True
0b10 & 0b01 != 0 = False
...所以?
Mat*_*hew 150
你实际上是这样做的:
var_dump(0b10 & (0b01 == 0));
var_dump(0b10 & (0b01 != 0));
Run Code Online (Sandbox Code Playgroud)
尝试:
var_dump((0b10 & 0b01) == 0);
var_dump((0b10 & 0b01) != 0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4568 次 |
| 最近记录: |