2

位域1 = 00100110

位域2 = 00110011

((BitField1 & ~BitField2) | (BitField2 & ~BitField1)); = 00010101

所以这是一个常见的按位运算的长版本,它是什么?

想了解上面的位操作是否是一些已知的操作?

4

1 回答 1

2

这是异或。在 BitField1 或 BitField2 但不是两者都为 1 的位中,您最终会得到 1。

正如维基百科所说,一种用途是

“汇编语言程序员有时使用 XOR 作为将寄存器的值设置为零的捷径。对一个值对自身执行 XOR 总是产生零。”

于 2017-07-31T09:27:23.713 回答