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