【发布时间】:2011-08-23 14:57:57
【问题描述】:
1 ^ 1
# => 0
1 ^ 2
# => 3
5 ^ 6
# => 3
这些是我得到的结果。请有人解释一下^ 的工作原理吗?
【问题讨论】:
1 ^ 1
# => 0
1 ^ 2
# => 3
5 ^ 6
# => 3
这些是我得到的结果。请有人解释一下^ 的工作原理吗?
【问题讨论】:
对于操作数的二进制表示中的每一位,如果操作数中的相应位之一为 1,而不是两者都为 1,则按位异或将获得 1 位,否则异或将获得 0 位。这是一个例子:
5 = 101
6 = 110
5 ^ 6 = 011 = 3
【讨论】:
if (blocks[blockname] ^ invertBlock) or consts['Type'] == blockname
(a || b) && !(a && b)