왜 7은 i+2 이고 11은 i+1인지 잘 모르겠습니다
안녕하세요.
우선 INPUT의 5개 값 중 첫번째 값은 입력된 값이 그레이코드인지, 이진수인지를 판별하는 값으로
첫 판별 이후에는 나머지 4개 INPUT(2) ~ INPUT(5)까지의 값만 처리에서 사용됩니다.
또한 그레이를 2진수로 변환하든 2진수를 그레이로 변환하든 변환할 첫 번째 값, 여기서는 INPUT(2)를
변환될 CONT(1)에 저장한 후 CONT는 CONT(2)부터 처리됩니다.
왼쪽 반복문은 그레이 코드를 이진수를 변환하는 과정입니다.
왼쪽에 구해놓은 이진수 비트와(CONT(i))와 변경할 그레이(INPUT(i+2))를 XOR를 합니다.
즉 i가 1이면 INPUT(3)과 CONT(1)를 비교하는 것이죠.
오른쪽 반복문은 이진수를 그레이코드로 변환하는 과정입니다.
변경할 이진수의 해당 번째 비트(INPUT(i+2))와 그 왼쪽의 비트((INPUT(i+1))을 XOR 합니다.
즉 i가 1이면 INPUT(3)과 INPUT(2)를 비교하는 것이죠.
알고리즘에 이해 부분에 설명되어 있는 변환 과정을 먼저 이해한 후 순서도를 연관지어 보면 좀더 쉽게 이해할 수 있습니다.
오늘도 즐거운 하루 되세요.
-
*2015-06-11 09:19:01
안녕하세요.
우선 INPUT의 5개 값 중 첫번째 값은 입력된 값이 그레이코드인지, 이진수인지를 판별하는 값으로
첫 판별 이후에는 나머지 4개 INPUT(2) ~ INPUT(5)까지의 값만 처리에서 사용됩니다.
또한 그레이를 2진수로 변환하든 2진수를 그레이로 변환하든 변환할 첫 번째 값, 여기서는 INPUT(2)를
변환될 CONT(1)에 저장한 후 CONT는 CONT(2)부터 처리됩니다.
왼쪽 반복문은 그레이 코드를 이진수를 변환하는 과정입니다.
왼쪽에 구해놓은 이진수 비트와(CONT(i))와 변경할 그레이(INPUT(i+2))를 XOR를 합니다.
즉 i가 1이면 INPUT(3)과 CONT(1)를 비교하는 것이죠.
오른쪽 반복문은 이진수를 그레이코드로 변환하는 과정입니다.
변경할 이진수의 해당 번째 비트(INPUT(i+2))와 그 왼쪽의 비트((INPUT(i+1))을 XOR 합니다.
즉 i가 1이면 INPUT(3)과 INPUT(2)를 비교하는 것이죠.
알고리즘에 이해 부분에 설명되어 있는 변환 과정을 먼저 이해한 후 순서도를 연관지어 보면 좀더 쉽게 이해할 수 있습니다.
오늘도 즐거운 하루 되세요.