estudante

300 palavras 2 páginas
Distância de Hamming

A Distancia de Hamming, criada por Richard Hamming, pode ser definida como o número de posições de bit nas quais as duas palavras de código são diferentes. Sua principal função é que se, por exemplo, duas palavras de código estiverem separadas por uma distância de Hamming X, e atribuindo o valor 2 a X, serão necessários 2 erros de bitsúnicos para fazer a conversão de uma na outra.
A distância de Hamming está diretamente ligada à correção e detecção de erros, uma vez que estas dependem de sua distância.

Complemento:
O problema da distância de Hamming consiste em encontrar o número de posições em que duas seqüências de bits de mesmo tamanho diferem. Por exemplo, dadas as sequências A = 11011101 e B = 11000101, a distância de Hamming entre A e B, denotada por Hamming( A, B ), é 2. Basta verificar que os bits de A e B diferem nas posições 3 e 4 (começando de zero da direita para esquerda).
Para calcular a distância algoritmicamente, a solução consiste em gerar uma nova seqüência de bits - C - que marca as posições nas quais os bits de A e B diferem entre si. Ou seja, no exemplo acima, a seqüência procurada é C = 00011000. Para encontrar C, será suficiente aplicar o operador XOR ("eXclusive OR" - "OU exclusivo") cuja definição matemática é XOR( a, b ) = a + b (mod 2), ou seja, a soma módulo 2 entre os números a e b.
Após efetuado este calculo, basta contar a quantidade de 1's que aparecem na sequência e essa será a distância de Hamming.
Em C++, o cálculo de C é feito diretamente através do operador binário ^ que aplica o XOR bit a bit entre os números desejados. Por exemplo, a saída do código unsigned a = 255, b = 127;
std::cout

Relacionados

  • Estudante
    4061 palavras | 17 páginas
  • Estudante
    5203 palavras | 21 páginas
  • estudante
    1826 palavras | 8 páginas
  • Estudante
    1976 palavras | 8 páginas
  • estudante
    4108 palavras | 17 páginas
  • Estudante
    4793 palavras | 20 páginas
  • estudantes
    7348 palavras | 30 páginas
  • estudante
    16461 palavras | 66 páginas
  • estudante
    1462 palavras | 6 páginas
  • Estudante
    1075 palavras | 5 páginas