디지털 시스템에서는 0 과 1 만 인식할 수 있으며, 다양한 데이터는 이진 코드로 변환되어야만 처리할 수 있습니다. 그레이 코드는 절대 인코딩 방식을 사용하는 가중치가 부여되지 않은 코드입니다. 일반적인 그레코드는 반사와 순환 특성을 가진 1 단계 자체 보완 코드입니다. 그 순환성과 단계성의 특징은 난수를 채취할 때 심각한 오차가 발생할 가능성을 없애고, 반사성과 자보성의 특징을 통해 역주행이 매우 편리하다. 그레이 코드는 신뢰성 코딩에 속하며 오차를 최소화하는 코딩 방법입니다. 자연 바이너리 코드는 디지털 아날로그 변환기를 통해 아날로그 신호로 직접 변환할 수 있기 때문입니다. 그러나 경우에 따라 이진 코드가 10 진수 3 에서 10 진수 4 로 변환되면 모든 사람이 바뀌어야 합니다. 이로 인해 디지털 회로는 큰 피크 전류 펄스를 생성합니다. 그레이 코드는이 단점이 없습니다. 이것은 모든 인접 정수가 숫자 표현에서 하나의 숫자만 다른 숫자 정렬 시스템입니다. 두 개의 인접한 숫자 간에 변환할 때 하나의 숫자만 변경됩니다. 그것은 한 상태에서 다음 상태로의 논리적 혼란을 크게 줄였다. 또한 최대 수와 최소 수 사이에 하나의 숫자만 다르기 때문에 일반적으로 회색 반사 코드 또는 순환 코드라고도 합니다. 다음 표는 몇 가지 자연 이진 코드와 그레이 코드에 대한 비교표입니다.
일반적으로 일반 이진 코드와 그레이 코드는 다음과 같은 방법으로 서로 변환할 수 있습니다.
이진 코드->; 그레코드 (인코딩): 맨 오른쪽 비트부터 각 비트는 왼쪽 비트와 차례로 다르거나, 그레코드 비트에 해당하는 값으로, 맨 왼쪽 비트는 변경되지 않습니다 (왼쪽 0 에 해당).
그레코드-> 이진 코드 (디코딩): 각 비트를 왼쪽에서 두 번째 자리의 왼쪽 비트 디코딩 값과 다르게 또는 해당 비트의 디코딩 값으로 사용합니다 (맨 왼쪽 비트는 변경되지 않음).
수학 (컴퓨터) 설명:
원본 코드: p [0 ~ n]; 그레이 코드: c[0~n](n? N); 코드: c = g (p); 디코딩: p = f (c); 글을 쓸 때 숫자는 왼쪽에서 오른쪽으로 줄어든다.
코드: c=p XOR p[i+ 1](i? N, 0? 나? N- 1), c [n] = p [n];
디코딩: p[n]=c[n], p=c XOR p[i+ 1](i? N, 0? 나? N- 1) 입니다.
그레이코드는 벨 연구소의 프랭크 그레이가 1940 년대에 제안한 것이다 (1880 은 프랑스 엔지니어 Jean-Maurice-Emlle 이 제안한 것이다).
Baudot), PCM(Pusle Code Modulation) 방법을 사용하여 신호를 전송할 때 오류를 방지하고 3 월 1953 일에 미국 특허를 획득했습니다. 정의에 따르면, 그레코드의 코딩 방법은 고유하지 않지만, 여기서는 가장 많이 사용되는 방법에 대해 논의한다.
그레이코드는 중국인의 조상이 발견한 것이다.
9 체인과 그레이 코드
9 체인의 전체 표기법을 분석하여 한 번에 하나의 링만 이동하므로 두 단계의 표현식은 한 숫자만 차이가 납니다. 우리는 오환을 예로 들었다. 왼쪽에서 첫 번째 열의 다섯 자리 숫자는 다섯 번째 고리부터 다섯 번째 고리까지 순차적으로 배열된 다섯 번째 고리 상태입니다. 두 번째 열은 역순을 나타내는 5 자리 숫자로 이진수처럼 보이지만 네 번째 열을 비교하면 이진수가 나타내는 단계 수가 아니라는 것을 알 수 있습니다. 세 번째 열은 초기 상태에서 해당 상태까지의 단계 수입니다. 맨 오른쪽 열은 단계의 이진 표현입니다.
00000-00000-0-00000
10000-00001-1-00001
11000-00011-2-00010
01000-00010-3-00011
01100-00110-4-00100
11100-00111-5
10100-00101-6-001/kloc
00100-00100-7-00111
00110-01100-8-01000
10110-01101-;
11110-011/kloc/
01110-01110--
01010-01010-12-0/;
11010-01011-0
10010-01001-14-0/kloc
00010-01000-15-011/kloc
00011-11000-16-/kloc-0
10011-11001-/kloc
11011-110/kloc/
01011-1110--
01111-11/kloc-;
11111-1/kloc-0
우리는 오른쪽 열의 숫자가 바로 이진수 0 에서 2 1 의 그레이 코드라는 것을 발견했다! 물론 2 1 단계가 필요합니다. 5 자리 이진수를 순차적으로 쓰면
10111-11/kloc-;
00111-11100-23
00101-10100-24-1/kloc/
10101-10101-;
11101-101/kloc/
01101-10110-;
01001-10010-28-1/kloc/
11001-10011-29
10001-10001-30-1/kloc-0
00001-10000-31-11/kloc-;
즉, 5 개의 링크만 있는 5 개 체인 체인의 경우 초기 상태에서1111까지 가장 많이 사용되지 않습니다. 000/kloc- 마찬가지로 9-링 체인의 경우 초기 상태111111부터 그레이 코드111111/kloc-0 이것이 바로 9 사슬에 포함된 수학 내포이다.
참고: 이진수에서 그레코드까지: 오른쪽에서 왼쪽으로 검사하며, 한 수의 왼쪽이 0 이면 숫자가 변경되지 않습니다. 1 이면 숫자가 변경됩니다 (0 은 1, 1 은 0 이 됨). 예를 들어 바이너리11011의 그레코드는101입니다.
그레이 코드 변수 이진: 오른쪽에서 왼쪽으로 검사하고 한 수의 왼쪽 자릿수의 합계가 짝수인 경우 그대로 유지됩니다. 홀수인 경우 숫자가 변경됩니다.
예를 들어 그레이 코드11011은 이진수가100/kloc-0 임을 의미합니다
위의 내용은 기억에 도움이 될 수 있다: 2G 는 0 으로 변하고, G2 는 패리티로 변한다.
이렇게 하면 한 상태에서 다른 상태로 전체 솔루션을 사용하는 데 필요한 단계 수 뿐만 아니라 간단한 솔루션을 사용하는 데 필요한 단계 수 및 다음 동작이 무엇인지 알 수 있습니다. (000000000 및111111제외 ) 을 참조하십시오
예를 들어 9 체인의 초기 상태가110110 이고 원하는 종료 상태가 0010/이라고 가정합니다 간단한 솔루션과 완벽한 솔루션에 필요한 단계는 몇 개입니까? 첫 번째 단계는 무엇입니까?
솔루션 (1) 초기 상태1101110/ 끝단 상태는 00 100111,그레이 코드는11입니다 이 둘의 차이는 326-141= 186 이며, 전체 해결에는186 단계가 필요합니다.
(2) 14 1 의 초기 조건이 327 의 종료 조건보다 작기 때문에 첫 번째 단계는 142 이고 해당 바이너리는 01입니다.
(3) 간단한 해결 단계, 각각 14 1, 327 에서 해당하는 간단한 단계를 계산합니다.
N= 14 1 의 경우 n0 =103 을 얻습니다. N=327, N0=242 의 경우. 그 차이는 139 이므로 간단한 단계는 139 입니다.