ハミング重みについて

LeetCode内でHamming weightという言葉が出てきたのでメモ。

概要

ハミング重みとは、シンボル列中の 0 以外のシンボルの個数である。典型的には、ビット列中の1の個数として使われる。(Wikipedia)

つまり、0以外の記号の個数がハミング重み。

e.g.
シンボル列が"10101"のとき、ハミング重みは 「3」となる。

何の意味があるのか

0かそれ以外かを識別するため、1進数システムから2進数への変換に使える。
生体認証データベースなどにも使われているらしい。

小話

米国ベル研究所のリチャード・ハミングにちなんで命名された。

ちなんでいるだけで概念の発祥はJames WL Glaisherという人らしい。


ハミング距離というものもある。

ハミング距離とは、等しい文字数を持つ二つの文字列の中で、対応する位置にある異なった文字の個数である。(Wikipedia)