如何知道2位是否可以构成xor java

如何知道2位是否可以构成xor java,java,if-statement,byte,bits,Java,If Statement,Byte,Bits,我有一个8位长的值(1字节),叫做dividendo(值0x98=10011000),我想在dividendo(100)的前3位和变量div(0x5=101)的值之间做一个异或(^),这样我就可以得到这个(001),如果这个句子试图知道t和div的位大小是否相同,这样它们就可以进行异或,它用于java中的crc代码 我想这样做: long t, res; long dividendo = 0x98; long div = 0x5; for(int i=0;

我有一个8位长的值(1字节),叫做dividendo(值0x98=10011000),我想在dividendo(100)的前3位和变量div(0x5=101)的值之间做一个异或(^),这样我就可以得到这个(001),如果这个句子试图知道t和div的位大小是否相同,这样它们就可以进行异或,它用于java中的crc代码

我想这样做:

    long t, res;
    long dividendo = 0x98;   
    long div = 0x5;
    for(int i=0; i< 8;i++ ){       // to extract bit by bit from a byte
     t=(dividendo   >>> (7-i));      
    if( div ^ t ) {
        res = t^div;
        System.out.println(Long.toHexString(res));
    }
长t,res;
长除数ndo=0x98;
长div=0x5;
对于(inti=0;i<8;i++){//从字节中逐位提取
t=(除以ndo>>>(7-i));
if(div^t){
res=t^div;
System.out.println(Long.tohextstring(res));
}

我想你可以说
如果(div^t!=0)
,如果我正确理解你说的话。

请重新措辞。我不明白你想要什么。
res
t
的数据类型是什么?我编辑了这个问题,试图更好地解释我自己+1猜测他的意思。如果他来自C,这是有意义的。