Java 对于两个字节之间的特定位操作,最快的方法是什么?

Java 对于两个字节之间的特定位操作,最快的方法是什么?,java,byte,bit,xor,Java,Byte,Bit,Xor,我有两个java字节变量 a = 00010011 b = 01101101 (in binary form) 假设我有第三个字节 c = 11001000 其位将用作在两个操作XOR/XNOR之间进行选择的指示器 e、 g.如果c[i]=1,则我选择XOR a[i]^b[i],如果c[i]=0,则我选择XOR这些值 在本例中,结果字节为 d = 01001001 Java中实现这种结果的最快方法是什么?如何 d = a ^ b ^ ~c; 或 或 ^的属性是翻转位设置为1,保留位设置

我有两个java字节变量

a = 00010011 
b = 01101101 (in binary form)
假设我有第三个字节

c = 11001000
其位将用作在两个操作XOR/XNOR之间进行选择的指示器

e、 g.如果c[i]=1,则我选择XOR a[i]^b[i],如果c[i]=0,则我选择XOR这些值

在本例中,结果字节为

d = 01001001
Java中实现这种结果的最快方法是什么?

如何

d = a ^ b ^ ~c;


^的属性是翻转位设置为1,保留位设置为0。如果使用~来翻转该值,则0的翻转值不变。

不知道它是否是最快的,我认为这是一个愚蠢的问题,因为它只是一个按位操作,但这会起作用:

(a XOR b) XNOR c
这与:

~(a ^ b ^ c)

到目前为止你试了什么,为什么你认为它太慢了?
(a XOR b) XNOR c
~(a ^ b ^ c)