小编pop*_*vic的帖子

Java中多个操作数的按位异或

我想对多个操作数进行按位操作,这样当只有一个整数在这个位置有1位时输出的整数为1,否则为0.

我正在使用:(a ^ b ^ c ^ d ^ e ^ f ^ g ^ h ^ i)^(a&b&c&d&e&f&g&h&i)

a: 0000001000
b: 0000000010
c: 1010000000
d: 0000110000
e: 0001000000
f: 0000110000
g: 1000100000
h: 0000000100
i: 0100000000
Run Code Online (Sandbox Code Playgroud)

我想得到:

   0111001110
Run Code Online (Sandbox Code Playgroud)

但是,我得到:

   0111101110
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?或者我应该修改什么?

java bit-manipulation xor bitwise-xor

2
推荐指数
1
解决办法
118
查看次数

标签 统计

bit-manipulation ×1

bitwise-xor ×1

java ×1

xor ×1