Antes de contar o número de bits diferentes entre os dados de dois bytes, o método que usei é primeiro converter os dois arrays em strings binárias e depois compará-los, mas se os dois arrays contiverem muitos dados, use isto Este método é demorado e não é adequado para programas que requerem alta velocidade de processamento. Após o teste, verifica-se que a velocidade de comparação XOR é muito mais rápida. A seguir está o código-fonte deste método:
public int errorNum(byte[] data1,byte[] data2)
{
int num=0;
int c=0;
for(int i=0;i<data1.length;i++)
{
c=data1[i]^data2[i];
while(c!=0)
{
c&=(c-1);
sum++;
}
}
return sum;
}