El pes Hamming d'una cadena és el nombre de símbols que són diferents del símbol zero de l'alfabet utilitzat. Per tant, és equivalent a la distància de Hamming des de la corda totalment zero de la mateixa longitud. Per al cas més típic, una cadena de bits, aquest és el nombre d'1 a la cadena, o la suma de dígits de la representació binària d'un nombre donat i la norma ℓ₁ d'un vector de bits. En aquest cas binari, també s'anomena recompte de població, popcount, suma lateral, o suma de bits.
El pes de Hamming rep el nom de Richard Hamming encara que ell no va originar la noció. El pes de Hamming dels nombres binaris ja va ser utilitzat el 1899 per James WL Glaisher per donar una fórmula per al nombre de coeficients binomials senars en una sola fila del triangle de Pascal. Irving S. Reed va introduir un concepte, equivalent al pes de Hamming en el cas binari, el 1954.
El pes de Hamming s'utilitza en diverses disciplines, com ara la teoria de la informació, la teoria de la codificació i la criptografia. Alguns exemples d'aplicacions del pes Hamming inclouen:
Corda | Pes de Hamming |
---|---|
111 0 1 | 4 |
111 0 1 000 | 4 |
00000000 | 0 |
678 0 1234 0 567 | 10 |
El recompte de població d'una cadena de bits sovint es necessita en criptografia i altres aplicacions. La distància de Hamming de dues paraules A i B es pot calcular com el pes de Hamming de A xor B .
El problema de com implementar-lo de manera eficient ha estat àmpliament estudiat. En alguns processadors hi ha disponible una única operació per al càlcul o operacions paral·leles sobre vectors de bits. Per als processadors que no tenen aquestes funcions, les millors solucions conegudes es basen en afegir recomptes en un patró d'arbre.