만약 INPUT이 (1)1100이면
그레이코드가 1000
2진수가 1010
되잖아요.
BINARY(1) = INPUT(2)
여기 지나고
DO T=1,3,1
이 IF문이 끝나면
저는 BINARY가 1001이 나오는데 뭐가 잘못된건거요?
안녕하세요.
input이 11100이므로
Binary(1) = input(2) 이므로
Binary(1)에는 1이 기억됩니다.
input(T+2)와 Binary(T)가 같은지 여부를 비교합니다.
T는 1부터 3까지 진행되므로
input(3)=binary(1)을 비교합니다.
1 = 1이므로 같죠
그럼 Yes가 되어 Binary(T+1)즉 Binary(2)에 0이 기억됩니다. 그럼 지금까지 Binary는 1 0 이 기억됩니다.
이제 T가 2가되어 다시 반복문을 수행하면
input(4)=binary(2)를 비교합니다.
0 = 0이므로 같죠
그럼 Yes가 되어 Binary(T+1)즉 Binary(3)에 0이 기억됩니다. 그럼 지금까지 Binary는 1 0 0 이 기억됩니다.
이제 T가 3이 되어 다시 반복문을 수행하면
input(5)=binary(3)를 비교합니다.
0 = 0이므로 같죠
그럼 Yes가 되어 Binary(T+1)즉 Binary(4)에 0이 기억됩니다. 그럼 지금까지 Binary는 1 0 0 0 이 기억됩니다.
결국 입력된 1 1100 중 앞의 1은 입력된 값 1100이 그레이 코드라는 의미입니다.
그레이코드 1100을 2진수로 변환하면 1000 이 됩니다.
오늘도 즐거운 하루 되세요.
"-
*2011-09-27 09:17:37
안녕하세요.
input이 11100이므로
Binary(1) = input(2) 이므로
Binary(1)에는 1이 기억됩니다.
input(T+2)와 Binary(T)가 같은지 여부를 비교합니다.
T는 1부터 3까지 진행되므로
input(3)=binary(1)을 비교합니다.
1 = 1이므로 같죠
그럼 Yes가 되어 Binary(T+1)즉 Binary(2)에 0이 기억됩니다. 그럼 지금까지 Binary는 1 0 이 기억됩니다.
이제 T가 2가되어 다시 반복문을 수행하면
input(4)=binary(2)를 비교합니다.
0 = 0이므로 같죠
그럼 Yes가 되어 Binary(T+1)즉 Binary(3)에 0이 기억됩니다. 그럼 지금까지 Binary는 1 0 0 이 기억됩니다.
이제 T가 3이 되어 다시 반복문을 수행하면
input(5)=binary(3)를 비교합니다.
0 = 0이므로 같죠
그럼 Yes가 되어 Binary(T+1)즉 Binary(4)에 0이 기억됩니다. 그럼 지금까지 Binary는 1 0 0 0 이 기억됩니다.
결국 입력된 1 1100 중 앞의 1은 입력된 값 1100이 그레이 코드라는 의미입니다.
그레이코드 1100을 2진수로 변환하면 1000 이 됩니다.
오늘도 즐거운 하루 되세요.
"