도구스개발

해밍 거리 계산기

길이가 같은 두 문자열에서 서로 다른 위치의 개수를 셉니다. 오류정정부호의 성능을 정하는 값입니다.

해밍 거리

3군데

karolin
kathrin
레벤슈타인 거리와 달리 삽입·삭제는 허용하지 않고 같은 자리끼리 치환만 셉니다. 그래서 길이가 다르면 애초에 정의되지 않습니다.

사용 방법

  1. 1길이가 같은 두 문자열(또는 비트열)을 입력합니다.
  2. 2다른 위치가 몇 군데인지, 어디인지 확인합니다.

자주 묻는 질문

두 문자열을 같은 위치끼리 하나씩 비교해 다른 곳의 개수를 셉니다. 예를 들어 "karolin"과 "kathrin"은 3번째, 4번째, 5번째 글자가 달라 해밍 거리는 3입니다.

레벤슈타인 거리는 삽입·삭제·치환을 모두 허용해 길이가 다른 문자열도 비교할 수 있지만, 해밍 거리는 치환만 허용하고 같은 자리끼리만 비교합니다. 그래서 길이가 다르면 아예 정의되지 않습니다. "cat"과 "cats"의 레벤슈타인 거리는 1(삽입 1번)이지만 해밍 거리는 계산 자체가 안 됩니다.

부호책에 있는 코드워드들 사이의 최소 해밍 거리 d가 그 부호의 오류 처리 능력을 정하기 때문입니다. d-1개의 비트 오류까지는 "뭔가 틀렸다"고 검출할 수 있고, ⌊(d-1)/2⌋개까지는 어느 코드워드였는지 정정도 할 수 있습니다. 해밍(7,4) 부호는 최소 거리가 3이라 1비트 오류를 정정할 수 있습니다.

됩니다. 두 정수를 이진수로 놓고 XOR한 뒤 1의 개수(비트가 켜진 개수)를 세면 됩니다. 이 계산기는 문자열 비교에 초점을 맞췄지만 같은 원리입니다.

알아두면 좋은 점

  • 영문·숫자·기호를 가리지 않고 글자 단위로 비교합니다(대소문자도 다르게 취급합니다).

함께 보면 좋은 도구

마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.