플로차트 문제 4번에 대해 질문드립니다.
답이 A(E+1)으로 되어있는데, 도무지 이해가 안갑니다.
진수표시에 사용할 문자들이 배열에 0부터 들어있어서 +1을 한다는 건 이해가 되는데,
몫이 저장될 변수 'E' 가 10111 이렇게 나오잖아요.
10111은 배열에 저장될 때
0 | 1 | 2 | 3 | 4 | 5 |
1 | 0 | 1 | 1 | 1 |
이것처럼 되는게 맞는거죠?
그런데 10111을 A(E+1) 을 하면
1. A(1+1)= 두 번째 배열에 출력=1에 출력
2. A(0+1)= 첫 번째 배열에 출력=0에 출력?
3. A(1+1)= 두 번째 배열에 출력=1에 출력?
4. "
5. "
이렇게 되는데 그러면 10진 수 23의 값이 나오지 않게되네요...
1 | |
0 | |
1 | |
1 |
어떻게 출력하는 건지좀 알려주세요...
안녕하세요.
76쪽 하단에 디버깅 표 부분을 확인하시면 A배열에 0부터 F까지 값이 이미 저장되어 있다는 조건이 제시됩니다.
A의 1번째 배열에는 0, 2번째 배열에는 1, .... 16번째 배열에는 F가 저장되어 있습니다.
즉 A(1) = 0, A(2) = 1, ..... A(16) = F 가 저장 되어 있는 것이죠.
그래서 변수 E를 이용해 A 배열의 값을 출력하기 때문에 A(E+1)을 합니다.
A배열에는 0부터 저장되어 있으느로 E 값이 1일 때 1을 출력하려면 A(1)이 아닌 A(2)를 지정해야 하는데 이는 실제 E값보다 +1한 위치에 저장되어 있기 때문에 E+1로 배열의 위치를 지정하는 것이죠.
위 내용을 염두에 두고 다시한번 디버깅을 수행해 보세요.
오늘도 즐거운 하루 되세요.
"-
*2013-06-27 09:39:38
안녕하세요.
76쪽 하단에 디버깅 표 부분을 확인하시면 A배열에 0부터 F까지 값이 이미 저장되어 있다는 조건이 제시됩니다.
A의 1번째 배열에는 0, 2번째 배열에는 1, .... 16번째 배열에는 F가 저장되어 있습니다.
즉 A(1) = 0, A(2) = 1, ..... A(16) = F 가 저장 되어 있는 것이죠.
그래서 변수 E를 이용해 A 배열의 값을 출력하기 때문에 A(E+1)을 합니다.
A배열에는 0부터 저장되어 있으느로 E 값이 1일 때 1을 출력하려면 A(1)이 아닌 A(2)를 지정해야 하는데 이는 실제 E값보다 +1한 위치에 저장되어 있기 때문에 E+1로 배열의 위치를 지정하는 것이죠.
위 내용을 염두에 두고 다시한번 디버깅을 수행해 보세요.
오늘도 즐거운 하루 되세요.
"