계산기 & 툴계산기 & 툴
불러오는 중...
개발

🧠
해밍 코드 계산기

이진 데이터를 입력하면 해밍 코드(Hamming Code)로 인코딩하거나, 수신된 코드를 디코딩해 신드롬으로 오류 위치를 찾고 1비트 오류를 자동 교정합니다. (옵션: SECDED 전체 패리티)
이 계산기는 해밍 코드(Hamming Code)를 이용해 이진 데이터를 인코딩/디코딩하고, 1비트 오류를 자동으로 교정합니다. 선택 옵션으로 SECDED(전체 패리티)를 켜면 2비트 오류 검출까지 가능해집니다.
일반 Hamming(1비트 교정)
공백, 하이픈(-), 언더바(_)는 자동으로 무시됩니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

해밍 코드(Hamming Code)란?

해밍 코드는 데이터 전송/저장 과정에서 발생할 수 있는 오류를 찾고(검출) 고치는(교정) 데 쓰이는 오류 정정 코드(Error-Correcting Code, ECC)입니다. 대표적으로 "1비트 오류 교정(Single Error Correction)" 을 지원하며, 패리티 비트를 추가해서 오류 위치를 계산합니다.

패리티 비트(P1, P2, P4...)가 왜 1,2,4,8... 위치에 들어가나요?

해밍 코드는 비트 위치를 1,2,3,4...처럼 1부터 번호 매긴 뒤, 2의 거듭제곱 위치(1,2,4,8...)를 패리티 비트 자리로 예약합니다. 이렇게 하면 각 패리티 비트가 커버하는 범위가 “비트마스크”처럼 깔끔하게 분리되어, 디코딩 시 신드롬(syndrome) 값으로 오류 위치를 바로 계산할 수 있습니다.

신드롬(Syndrome) — 오류 위치를 숫자로 만드는 방법

수신한 코드에서 패리티 검사를 다시 수행했을 때, 어떤 패리티(P1/P2/P4/...)가 불일치하는지를 비트로 모으면 그 값이 오류가 난 위치(1-based index)가 됩니다. 예를 들어 신드롬이 6이라면, 1-based 위치 6의 비트가 뒤집혔을 가능성이 높습니다(단일 비트 오류 가정).

SECDED란? (전체 패리티로 2비트 오류까지 검출)

기본 해밍 코드는 1비트 오류 교정에 강하지만, 2비트 오류에서는 잘못된 교정을 할 수 있습니다. 그래서 실무에서는 "전체 패리티 비트"를 1개 더 추가한 SECDED(Single Error Correction, Double Error Detection)를 많이 씁니다. 이 계산기의 SECDED(전체 패리티) 옵션을 켜면,
  • 1비트 오류: 검출 + 교정
  • 2비트 오류: 검출(경고) / 교정은 불가
형태로 동작합니다.

해밍 코드 계산기 활용 예시

  • 네트워크/시리얼 통신에서 비트 오류가 의심될 때
  • 메모리(ECC RAM)나 저장장치에서 오류 정정 원리를 학습할 때
  • 임베디드/FPGA/통신 프로토콜에서 간단한 오류 정정이 필요할 때

자주 묻는 질문(FAQ)

  • Q. 이 계산기는 어떤 해밍 코드를 쓰나요?
    A. 입력 비트 길이에 맞춰 패리티 비트 수(r)를 자동으로 결정하고, 1-based 위치에서 2의 거듭제곱 자리를 패리티로 사용하는 일반적인 Hamming 인코딩/디코딩 흐름을 구현했습니다.
  • Q. 2비트 오류도 고칠 수 있나요?
    A. 일반 해밍 코드는 2비트 오류 교정은 어렵습니다. 대신 SECDED 모드를 켜면 2비트 오류를 “검출”할 수 있습니다.
  • Q. 공백이나 하이픈이 섞인 입력도 되나요?
    A. 네. 1011 0010, 1011-0010 같은 입력도 자동 정리해서 처리합니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

즐겨찾기
메뉴