AZ Tools

그레이 코드 변환기

변환

그레이 코드(반사 2진)는 연속한 두 값이 정확히 한 비트만 다른 2진수 정렬 방식. 이 단일 비트 변경 특성은 로터리 엔코더·카르노 맵·오류에 강한 위치 감지에 유용 — 여러 비트가 동시에 바뀔 때 생기는 과도 중간값이 나타나지 않기 때문. 2진수는 g = b XOR (b >> 1)로 그레이로 변환되고, 디코드는 누적 XOR로 비트를 되짚음. 이 도구는 모든 방향으로 변환 — 10진수·평범한 2진수·그레이 코드 값을 입력하면 다른 표현을 표시. 고정 비트 폭을 선택해 고정 레지스터 표시용으로 0 채움 가능.

10진수
42
2진수
101010
그레이 코드
111111
참조표 (0-7)
10진수2진수그레이 코드
0000000
1001001
2010011
3011010
4100110
5101111
6110101
7111100

2진 → 그레이: g = b XOR (b >> 1). 연속 그레이 값은 정확히 한 비트 차이. 비트 폭은 출력만 0으로 채움.

사용법

  1. 입력이 10진수·2진수·그레이 코드 중 무엇인지 선택.
  2. 값 입력 — 10진·2진·그레이 형태가 즉시 갱신.
  3. 비트 폭(4·8·16·32)을 설정해 2진·그레이 출력을 0으로 채울 수 있음.

자주 묻는 질문

그레이 코드는 어디에 쓰나요?
로터리·선형 위치 엔코더, 카르노 맵 정렬, 그리고 전환 중 글리치를 피하려고 인접 상태 간 한 비트만 바뀌어야 하는 모든 시스템.
2진수를 그레이 코드로 어떻게 변환하나요?
숫자를 오른쪽으로 1비트 시프트한 값과 XOR: gray = n ^ (n >> 1). 디코드는 최상위 비트부터 연쇄 XOR로 되돌림.
2진수 2(10)·3(11)이 그레이 11·10이 되는 이유는?
그레이 코드는 연속 값 간 한 비트 차이를 보장. 2진에서 2→3은 마지막 비트만 바뀌지만, 그레이 수열은 모든 단계를 한 비트 변경으로 유지하려고 반사됨.
큰 수도 처리하나요?
예 — 변환은 임의 정밀도 정수를 사용하므로 32·64비트를 훨씬 넘는 값도 정확히 변환. 비트 폭 옵션은 표시만 채움.

관련 도구