그레이 코드(Gray Code)는 인접한 값이 1비트만 다른 특수한 2진수 코드입니다. 일반 2진수와 어떻게 다른지 알아봅니다.
그레이 코드 원리
0=00, 1=01, 2=11, 3=10. 일반 2진수(0=00, 1=01, 2=10, 3=11)와 순서가 다릅니다. 연속된 값 사이에 1비트만 변합니다.
왜 사용하는가
회전 인코더, 위치 센서에서 사용됩니다. 여러 비트가 동시에 바뀌면 읽는 순간 잘못된 중간값이 나올 수 있는데, 그레이 코드는 이를 방지합니다.
변환 방법
2진수에서 그레이: g[i] = b[i] XOR b[i+1]. 그레이에서 2진수: b[i] = g[i] XOR b[i+1]. 진수 변환기로 2진수를 확인하면서 직접 변환해보세요.
기타 응용
유전 알고리즘, 아날로그-디지털 변환 등에도 사용됩니다.
현대 컴퓨팅에서의 의미
클라우드, AI, 블록체인 등 최신 기술에서도 진수 변환의 기초는 동일하게 적용됩니다. 데이터가 어떻게 저장되고 처리되는지 이해하려면 2진수 체계를 알아야 합니다. 진수 변환기같은 도구를 활용하면서 원리를 익혀두세요. 특히 암호화, 해시 함수, 인코딩 등을 다룰 때 16진수를 자주 만나게 됩니다. SHA-256 해시 결과, UUID, 메모리 주소 등이 모두 16진수로 표현됩니다. 이런 값들을 해석하고 디버깅하려면 진수 변환 능력이 필수입니다. 한 번 제대로 익혀두면 어떤 분야에서든 활용할 수 있습니다.
정리
2진수는 컴퓨터의 언어이고, 16진수는 사람이 2진수를 읽기 좋게 압축한 표현입니다. 이 둘 사이의 변환을 자유롭게 할 수 있으면 많은 기술적 문제를 해결할 수 있습니다.
컴퓨터 과학의 핵심은 0과 1입니다. 진수 변환을 통해 이 세계를 이해하고 진수 변환기로 실무에 적용해보세요.