그레이 코드 변환기 (10진수 ⇄ 2진수 ⇄ 그레이 코드)

10진수·2진수·그레이 코드를 즉시 3방향 변환하세요 — 100% 브라우저에서 실행되며 업로드되지 않습니다.

🔒 브라우저에서 변환되며 업로드되지 않습니다.

그레이 코드란

그레이 코드(반사 2진 코드)는 인접한 두 값이 정확히 한 비트만 다르도록 2진수를 배열한 방식입니다. 이 단일 비트 변화 특성 덕분에 회전 엔코더, 위치 센서, 상태 기계 등에서 유용합니다. 일반 2진수에서 여러 비트가 동시에 바뀌면 순간적으로 완전히 잘못된 값이 읽힐 수 있기 때문입니다. 2진수를 그레이 코드로 바꾸는 것은 간단한 비트 연산으로, 첫 비트는 그대로 두고 나머지 그레이 비트는 현재 2진 비트와 바로 앞 비트의 XOR입니다. 이는 b XOR (b를 오른쪽으로 1비트 시프트)와 같습니다.

이 변환기 사용법

10진수·2진수·그레이 코드 중 어느 칸에 입력해도 나머지 두 칸이 즉시 갱신됩니다. 그래서 10진수 → 그레이로 바로 변환하거나(엔코더 위치나 교과서 문제가 다루는 방식) 그레이 값을 곧바로 10진수로 디코딩할 수 있습니다. 각 입력란은 입력하는 즉시 나머지를 갱신합니다. 2진수→그레이는 자리마다 g[i] = b[i-1] XOR b[i]를 적용하고, 그레이→2진수는 누적 XOR로 이를 되돌려 b[i] = b[i-1] XOR g[i]가 됩니다. 0과 1만 입력할 수 있으며 다른 문자는 명확한 메시지를 표시합니다. 앞자리 0은 유지되므로 8비트 패턴은 8비트 폭 그대로 남습니다.

자주 묻는 질문

2진수를 그레이 코드로 직접 어떻게 변환하나요?

최상위 비트는 그대로 두고, 나머지 각 2진 비트를 바로 왼쪽 비트와 XOR하면 됩니다. 예를 들어 1011은 1110이 됩니다. 앞의 1은 유지되고 1⊕0=1, 0⊕1=1, 1⊕1=0이기 때문입니다. 이 도구가 입력하는 즉시 대신 계산해 줍니다.

그레이 코드를 다시 2진수로 어떻게 변환하나요?

첫 비트는 그대로 복사하고, 이후 각 2진 비트는 앞의 2진 비트와 현재 그레이 비트의 XOR입니다 — 누적 XOR입니다. 따라서 1110은 1011로 디코딩됩니다. 그레이 코드 입력란에 입력하면 2진수 결과가 즉시 나타납니다.

입력한 내용이 서버로 업로드되나요?

아니요. 모든 변환은 브라우저에서 JavaScript로 로컬 처리됩니다. 입력한 내용은 어디에도 전송·저장·업로드되지 않습니다.