我有一个8位长的值(1字节),称为dividendo(值0x98=100101100),我想在dividedo(100)的3个第一位和变量div(0x5=101)的值之间做一个xor(^),这样我就可以有这个(001),if语句试图知道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));
}
如果我理解正确的话,我想你可能只会说if(div^t!=0)
。