왼쪽반복문에 보면
INPUT(i+2)=CONT(i) 이고 밑에 바로 CONT(i+1) 인데, 이 부분이 잘 이해가 되지않습니다.
문제 풀때 cont(i+1) 과 같을거라 생각했는데, 어떻게 i인지 궁금합니다.
그리고 cont(i+1)도 저는 풀 때 cont(i)=0 또는 1로 생각했는데 답이 달라 계속 찾아봤는데도
이해가 안가네요 , 답변 부탁드립니다.
안녕하세요.
INPUT은 입력받은 자료가 저장되는 배열입니다.
입력받는 자료는 총 5개로 처음 한 비트는 그레이 코드인지 이진수인지 판단하는 비트로
이후에는 실제 자료인 INPUT(2) ~ INPUT(5)의 자료 4비트만 사용됩니다.
그리고 처음에는 실제 자료의 첫번째 비트가 그대로 변환될 비트의 첫번째로 저장되므로
CONT(1), 즉 변환될 첫번째 비트에
INPUT(i+1) 실제 자료의 첫번째 비트인 INPUT(2)를 저장합니다. 첫번째는 코드 구분 비트이므로
그 다음은 그레이 코드인지 이진수인지에 따라 처리하는데, 왼쪽 반복문으로 왔다면 INPUT(1)이 1인 상태
즉 그레이 코드가 저장된 상태이므로 이진수로 변환하는 과정을 수행합니다.
그레이 코드를 이진수로 변환할 때는 첫번째 비트는 그레이 코드 첫번째를 그대로 내려쓰는데 이는 앞에서 수행했으므로
두 번째 이진수 비트는 구해놓은 2진수 비트, 즉 CONT(1)과
변경할 그레이 코드, 즉 INPUT(i+2)와 비교해야 합니다. <- INPUT(1)은 코드 구분 값, INPUT(2)는 그대로 내려 썼으므로
그 다음 비트인 INPUT(i+2), 즉 INPUT(3)과 CONT(1)을 비교하는 것입니다.
오늘도 즐거운 하루 되세요.
-
*2016-02-11 09:27:52
안녕하세요.
INPUT은 입력받은 자료가 저장되는 배열입니다.
입력받는 자료는 총 5개로 처음 한 비트는 그레이 코드인지 이진수인지 판단하는 비트로
이후에는 실제 자료인 INPUT(2) ~ INPUT(5)의 자료 4비트만 사용됩니다.
그리고 처음에는 실제 자료의 첫번째 비트가 그대로 변환될 비트의 첫번째로 저장되므로
CONT(1), 즉 변환될 첫번째 비트에
INPUT(i+1) 실제 자료의 첫번째 비트인 INPUT(2)를 저장합니다. 첫번째는 코드 구분 비트이므로
그 다음은 그레이 코드인지 이진수인지에 따라 처리하는데, 왼쪽 반복문으로 왔다면 INPUT(1)이 1인 상태
즉 그레이 코드가 저장된 상태이므로 이진수로 변환하는 과정을 수행합니다.
그레이 코드를 이진수로 변환할 때는 첫번째 비트는 그레이 코드 첫번째를 그대로 내려쓰는데 이는 앞에서 수행했으므로
두 번째 이진수 비트는 구해놓은 2진수 비트, 즉 CONT(1)과
변경할 그레이 코드, 즉 INPUT(i+2)와 비교해야 합니다. <- INPUT(1)은 코드 구분 값, INPUT(2)는 그대로 내려 썼으므로
그 다음 비트인 INPUT(i+2), 즉 INPUT(3)과 CONT(1)을 비교하는 것입니다.
오늘도 즐거운 하루 되세요.