길이가 같은 두 문자열에서 서로 다른 위치의 수를 계산합니다. 이진 비트열과 일반 문자열 모두 지원합니다.
입력
입력 문자열
각 문자는 0 또는 1이어야 합니다.
첫 번째 문자열입니다. 이진 모드에서는 0과 1만 사용하십시오.
두 번째 문자열입니다. 첫 번째 문자열과 길이가 같아야 합니다.
결과
값을 입력하면 계산 결과가 표시됩니다.
결과
두 문자열 사이에서 서로 다른 위치의 수입니다.
%
두 문자열에서 서로 같은 위치의 비율을 백분율로 나타낸 값입니다. 1에서 해밍 거리를 문자열 길이로 나눈 값을 뺀 것과 같습니다.
자주 묻는 질문 (FAQ)
해밍 거리란 무엇입니까?
해밍 거리는 길이가 같은 두 문자열에서 서로 다른 위치의 수를 나타냅니다. 1950년 리처드 해밍이 오류 검출 및 정정 부호에 관한 논문에서 도입한 개념으로, 부호 이론과 디지털 통신의 기초를 이룹니다.
최소 해밍 거리가 d인 블록 부호는 최대 d − 1개의 단일 비트 오류를 검출하고, 최대 ⌊(d − 1) / 2⌋개의 오류를 정정할 수 있습니다. 예를 들어 각 비트를 세 번 반복 전송하는 반복 부호의 최소 거리는 3이므로, 2비트 오류를 검출하고 1비트 오류를 정정할 수 있습니다.
오류 정정 외에도 해밍 거리는 암호학의 키 유사도 분석, 생물정보학의 DNA 서열 비교, 기계 학습의 해시 기반 최근접 이웃 탐색 등 다양한 분야에서 활용됩니다.
두 문자열의 길이가 반드시 같아야 합니까?
네, 그렇습니다. 해밍 거리는 같은 위치에 있는 기호를 일대일로 비교하는 방식으로 정의되므로, 두 문자열의 길이가 같아야 합니다. 1번 위치끼리, 2번 위치끼리 순서대로 대응하기 때문에, 길이가 다르면 남는 기호를 자연스럽게 대응시킬 방법이 없습니다.
길이가 다른 두 문자열을 비교할 때는 편집 거리(레벤슈타인 거리)가 표준적인 대안입니다. 편집 거리는 한 문자열을 다른 문자열로 변환하는 데 필요한 단일 문자 삽입, 삭제, 대체 횟수의 최솟값을 나타냅니다.