디버깅 문제에서 23을 16으로 나누니까 E가 1이되는데 플로챁트 8번부터 보면 E의 값이 1이 저장되고, 10번을 보녀 A[E+1]이면 A[2]부터 시작하는거 아닌가요? 왜 A[2]부터 출력을 하는지 모르겠습니다.
안녕하세요.
이 알로리즘은 배열에 값을 저장했다 출력하는 것이 아니라
변환된 진수의 값을 계산할 때마다 하나씩 바로 출력하는 알고리즘입니다.
A 배열은 변환된 진수의 값을 저장하는 배열이 아니라 변화된 진수의 값을 출력할 때 16진수까지 출력할 수 있도록 출력할 값들을 미리 저장해 둔 배열로
출력할 E 값이 1일 때 A[1]이 아니라 A[2]를 지정하도록 A[E+1]을 하는 이유는
A 배열에 저장된 값이 1부터가 아니라 0부터 저장되기 때문입니다.
즉 A[1]에는 0이 저장되어 있고
A[2]에는 1이 저장되어 있으므로
E가 1일 때 1을 출력하려면 A[E]가 아니라 A[E+1]로 지정해야 합니다.
오늘도 즐거운 하루 되세요.
-
*2018-03-08 10:40:05
안녕하세요.
이 알로리즘은 배열에 값을 저장했다 출력하는 것이 아니라
변환된 진수의 값을 계산할 때마다 하나씩 바로 출력하는 알고리즘입니다.
A 배열은 변환된 진수의 값을 저장하는 배열이 아니라 변화된 진수의 값을 출력할 때 16진수까지 출력할 수 있도록 출력할 값들을 미리 저장해 둔 배열로
출력할 E 값이 1일 때 A[1]이 아니라 A[2]를 지정하도록 A[E+1]을 하는 이유는
A 배열에 저장된 값이 1부터가 아니라 0부터 저장되기 때문입니다.
즉 A[1]에는 0이 저장되어 있고
A[2]에는 1이 저장되어 있으므로
E가 1일 때 1을 출력하려면 A[E]가 아니라 A[E+1]로 지정해야 합니다.
오늘도 즐거운 하루 되세요.