UTILS.
100% 브라우저 내 실행

해밍 거리 계산기

길이가 같은 두 문자열, 비트열 또는 16진수 값이 서로 다른 위치의 수를 세고, 정규화 거리와 불일치를 강조한 diff를 함께 제공합니다.

출력

이 도구에 대하여

해밍 거리 계산기는 길이가 같은 두 입력이 서로 다른 위치의 수를 셉니다 — 오류 검출 및 오류 정정 코드의 핵심 지표입니다. 두 입력은 반드시 길이가 같아야 하며, 그렇지 않으면 이 도구는 정렬을 추측하는 대신 각 길이를 명확한 오류로 표시합니다. 원시 거리, 정규화 거리(거리 ÷ 길이, 0에서 1까지), 비교 길이, 일치하는 위치의 수, 그리고 모든 불일치를 빨간색으로 강조하는 위치별 diff를 보고합니다.

세 가지 모드가 일반적인 경우를 다룹니다. 텍스트 모드에서는 문자열을 코드 포인트 단위로 비교하므로, 길이가 같다는 것은 문자 수가 같다는 뜻입니다. 이진 모드에서는 각 입력이 길이가 같은 0과 1로만 이루어졌는지 검증한 뒤 서로 다른 비트 위치를 셉니다 — 이는 두 값의 XOR의 popcount와 동일합니다. 16진수 모드에서는 두 입력을 길이가 같은 16진수로 파싱하여 니블 단위로 XOR한 뒤 세워진 비트를 합산하여 실제 비트 수준의 해밍 거리를 구하며, 여기서 길이는 총 비트 수(16진수 자릿수 × 4)입니다.

계산은 순수하고 결정론적이며 완전히 오프라인입니다 — 입력한 내용은 브라우저를 벗어나지 않습니다. 해밍 거리는 두 코드워드를 구분하는 단일 비트 오류의 수를 측정하거나, 고정 길이 해시나 지문을 비교하거나, 생물정보학에서 길이가 같은 서열을 비교하는 데 사용됩니다. 길이가 같아야 하므로, 문자열의 길이가 다를 수 있는 경우에는 편집 거리를 대신 사용하세요.

자주 묻는 질문

왜 두 입력은 길이가 같아야 하나요?
해밍 거리는 길이가 같은 서열에 대해서만 정의됩니다 — 한쪽의 위치 i를 다른 쪽의 위치 i와 비교합니다. 길이가 다르면 표준적인 정렬이 없으므로, 이 도구는 두 길이와 함께 오류를 보고합니다. 길이가 다른 입력에는 레벤슈타인(편집) 거리를 대신 사용하세요.
이진 모드는 무엇을 세나요?
두 입력이 길이가 같은 0과 1의 문자열인지 검증한 뒤, 서로 다른 비트 위치를 셉니다 — 이는 두 비트열의 XOR의 인구 수(세워진 비트의 수)와 동일합니다.
16진수 모드는 거리를 어떻게 계산하나요?
각 16진수 자릿수는 니블(4비트)입니다. 이 도구는 두 값을 자릿수 단위로 XOR하고 모든 니블에 걸쳐 세워진 비트를 합산하여 비트 수준의 해밍 거리를 구합니다. 정규화에 사용되는 길이는 총 비트 수, 즉 16진수 자릿수에 4를 곱한 값입니다.
정규화 거리란 무엇인가요?
원시 거리를 비교 길이로 나눈 값으로, 0(동일)에서 1(모든 위치가 다름) 사이의 값입니다. 서로 다른 길이의 입력들의 불일치 비율을 동일한 0–1 척도에서 비교할 수 있게 해줍니다.

더 많은 도구