2012-10-14 2 views
0

명확한 방법으로 그레이 코드의 목적을 이해했습니다. EE Times: Gray Code Fundamentals그레이 코드가 이진 코드의 비트 또는 배타적 코드 인 이유

는하지만 그레이 코드가 G

다음과 같이 생성 할 수 있습니다 이유를 개념적으로 이해 할 수없는 나는 내가 = B 내가 + 1 ⊕ B 내가, I = N - 1, . . . , 0, 여기서 B n은 0으로 간주됩니다.

누군가가 개념적으로 나를 도울 수 있습니까? 당신이 위키 백과에 보면

답변

0

, 당신은 것을 볼 수 있습니다 :

G0 = B0 
Gi = Bi EXOR Gi-1 

합니까 더 많은 이해가? 읽은 페이지에서 주어진 그레이 코드를 확인하십시오 - 보류 된 것을 볼 수 있습니다.

위의 증거를 보시겠습니까, 아니면 예제를 충분히 살펴 보시겠습니까? 표준 바이너리에서

+0

수식을 보았습니다. 증명이나 논리적 인 설명을 찾고있었습니다. – crackerplace

+0

게시물의 수식이 잘못되었음을 확인 했습니까? – Zane

0

, 당신은 배타적 또는 숫자 n**2-1 미만 n**2, 당신은 효과적으로 그 계산의 순서를 반대로하면 우리 배타적 인 경우, 그래서

x x^11 
00 11 
01 10 
10 01 
11 00 

, 두 비트 번호를 - 또는 다음 비트와 하단 비트 :

x x^(x>>1) 
00 00 
01 01 
10 11 
11 10 

우리는 교대로 위의 비트가 설정하거나 해제 여부에 따라, 바닥 비트의 수의 순서를 반대로하고 있습니다. 이렇게하면 비트 1이 변경 될 때 비트 0이 동일하게 유지됩니다 (그렇지 않은 경우 0으로 줄 바꿈되어 다시 카운트 업됩니다).

카운터 상단에 추가되는 모든 비트에 대해 새 비트가 설정 될 때이를 지우지 않도록하기 위해 아래 비트의 수를 반 복해야합니다. 나머지 비트는 동일한 패턴을 따르고, 비트 위의 비트에 반영되어 랩핑하지 않고 뒤로 계산합니다.