search

Found

info 概要

2つの文字列の対応する位置で異なる桁数 (ハミング距離) を計算します。二進・十六進・テキストの 3 モードに対応し、各差分位置を色付きで可視化します。同じ長さの 2 文字列に対応。

📘 使い方

  1. 二進・十六進・テキストから比較したいモードを選ぶ
  2. 文字列 A と文字列 B に同じ長さの値を入力する
  3. ハミング距離と色付きの差分位置を確認する

ハミング距離計算機

ハミング距離

2
ビット
同じ長さの 2 文字列を入力すると差分の数を返します

位置ごとの差分

コピーしました
Article

ハミング距離計算機|二進・十六進・テキストの差分位置を可視化

対応する位置で異なる桁の数を数えるハミング距離を、二進・十六進・テキストの 3 モードで計算する文字列比較ツール。十六進は 4 ビットに展開してからビット単位で比較し、どの位置が食い違っているかを赤色でその場に表示する。

💡 このツールについて

ハミング距離は「同じ長さの 2 つの文字列で、対応する位置にある文字がいくつ違うか」を数えた値。誤り訂正符号やハッシュ値の照合、レジスタ値のデバッグなどで「何ビットずれているか」を素早く知りたい場面で使う。

紙の上で 0 と 1 を一桁ずつ突き合わせるのは、桁が長くなるほどミスが出やすい。このツールは入力した瞬間に距離を返し、さらに違っている桁だけを赤くハイライトするので、どこがずれているのかを目で追える。十六進モードでは各桁を 4 ビットに展開してからビット単位で数えるため、b4e4 のようなバイト値同士の差分もビット精度で確認できる。テキストモードは文字単位で比較するので、固定長コードや型番の食い違い探しにも使える。

入力はすべてブラウザ内で処理され、長さが違う場合は距離を計算せず両者の桁数を表示して教える。

🧐 よくある質問

ハミング距離とレーベンシュタイン距離は何が違いますか? ハミング距離は同じ長さの文字列を「同じ位置同士」で比べ、置き換えだけを数えます。挿入や削除は扱いません。長さが違う文字列や、文字のずれを許容して比較したい場合はレーベンシュタイン距離が向いています。

長さが違う文字列を入れたらどうなりますか? ハミング距離は等しい長さの文字列にしか定義されないため、距離は計算されず「長さが一致しません」と両者の桁数が表示されます。先頭ゼロを補うなどして長さを揃えてください。

十六進モードのビット数はどう数えていますか? 各十六進桁を 4 桁の二進に展開してから、ビットごとに比較しています。例えば b4(10110100)と e4(11100100)はビット単位で 2 ビット違うため、距離は 2 になります。

XOR で計算する方法と同じ結果になりますか? はい。2 値を XOR して結果の 1 の個数を数える方法と同じ値になります。このツールは位置ごとの比較でその数を求めています。

大文字小文字や空白は区別されますか? 二進・十六進モードでは空白を無視し、十六進は大文字小文字を区別しません。テキストモードは入力された文字をそのまま比較します。

📚 ハミング距離と誤り訂正の豆知識

ハミング距離は、符号語同士の最小距離が大きいほど多くの誤りを検出・訂正できるという性質を持つ。符号の最小ハミング距離が 3 あれば、1 ビットの誤りを検出するだけでなく訂正までできる。これが誤り訂正符号(ハミング符号)の出発点になっている。

身近な例では、QR コードやバーコード、ECC メモリなどがこの考え方を利用して、読み取り時のわずかな誤りを自前で直している。2 つのビット列が「どれだけ離れているか」を測るこの単純な指標が、データを壊さず運ぶ仕組みの土台になっている。