Compare duas matrizes de bytes e conte seus diferentes bits

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;
}

Acho que você gosta

Origin blog.csdn.net/youarenotme/article/details/80077742
Recomendado
Clasificación