vin*_*o83 0 javascript bit-manipulation xor
我一直在研究Javascript中的插入符号(XOR)操作符,但我很难理解.
有人可以解释为什么,例如,1 ^ 1 = 0?
我有一些人编写的代码,他们正在做以下事情:
if (shouldBeCollapsed ^ 1)
{
//code to collapse section of page.
}
Run Code Online (Sandbox Code Playgroud)
但是如果shouldBeCollapsed变量等于1,则条件失败.我只是想了解^运算符背后的逻辑,这让我感到困惑!
谢谢!
这就是XOR的定义.X ^ Y是1 iff X!= Y.因此,如果X和Y都是1,则XOR为0.
真值表如下:
X Y X^Y
0 0 0
0 1 1
1 0 1
1 1 0
Run Code Online (Sandbox Code Playgroud)
X ^ Y 在逻辑上等同于 (X && !Y) || (!X && Y)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |