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

🧩
그레이 코드 변환 계산기

10진수, 2진수(Binary), 그레이 코드(Gray code)를 서로 변환하고 16진수 표현까지 함께 확인할 수 있는 계산기입니다.
10진수/2진수(Binary)/그레이 코드(Gray Code)를 서로 변환합니다. 입력이 2진수/그레이 코드라면 입력 길이(비트 수)를 기준으로 출력이 자동 패딩됩니다.
10진수(양의 정수)만 지원합니다. (쉼표 입력 가능)
미입력 시 자동 결정 (10진수: 최소 비트, 2진수/그레이: 입력 길이). 최대 1024비트.

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

그레이 코드(Gray Code)란?

그레이 코드는 인접한 값(연속 숫자)으로 이동할 때 오직 1개의 비트만 변화하도록 만든 이진 코드입니다. 그래서 센서/엔코더처럼 "중간 순간에 여러 비트가 동시에 바뀌면 오차가 생길 수 있는" 상황에서 특히 유용합니다. (대표적으로 로터리 엔코더, 위치 센서, 일부 ADC/디지털 인터페이스 등)

2진수 ↔ 그레이 코드 변환 공식

  • Binary → Gray: G = B XOR (B >> 1)
  • Gray → Binary: MSB부터 누적 XOR로 복원 (왼쪽 비트부터 차례로 XOR)
예를 들어 10진수 10은 2진수로 1010, 그레이 코드로 1111입니다.

왜 그레이 코드를 쓰나요?

2진수는 값이 증가할 때 여러 비트가 동시에 바뀌는 구간이 있습니다. (예: 0111 → 1000) 이 순간에 회로/센서가 "동시에" 변화를 읽지 못하면 중간값을 잘못 읽는 문제가 생길 수 있어요. 반면 그레이 코드는 한 번에 1비트만 바뀌도록 설계되어 이런 글리치(glitch) / 오독 가능성을 줄여줍니다.

자주 묻는 질문

Q. 앞에 0이 있는 2진수/그레이 코드는 어떻게 되나요?
A. 디지털 회로에서는 비트 폭(예: 8bit, 16bit)이 중요합니다. 이 계산기는 입력이 2진수/그레이 코드일 때는 기본적으로 입력 길이만큼 결과를 패딩해 보여주며, 원하면 "출력 비트 수"로 강제할 수 있습니다.

Q. 그레이 코드도 16진수로 표현할 수 있나요?
A. 가능합니다. 다만 실무에서는 보통 "그레이 코드 비트열" 자체를 다루는 경우가 많아, 이 페이지에서는 참고용으로 16진수도 함께 제공합니다.

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

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

즐겨찾기
메뉴