我有一个根据用户输入生成的位字符串。我还有另一个位字符串,用于对生成的位字符串执行按位 & 操作。我想知道的是如何找出生成的位串中有多少位从 & 操作中改变了。假设我有 10000101 作为生成的位串,00101111 作为我用于 & 操作的第二个位串。该过程的输出应为 1,因为仅生成位串的第一位已更改。我怎么做?
最佳答案
您正在寻找的是按位异或(异或),或a^b
:
10000101 ^ 00101111 → 10101010
Is 在逻辑上等同于 (~a&b) | (a&~b)
关于java - 找出已更改的位数(按位运算符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36580856/