안녕하세요? 이장은 회원님 ^^
정보처리 자격시험 온라인 강의, 최강! 기사친구 입니다.
회원님의 문의에 대해 답변 드리겠습니다.
2진법(1 0 1 1 0 0 1 1 1 )을 8진법( 5 4 7 )으로 바꾸는 알고리즘에서 회원님께서 혼동되신
점에 대해 한번 더 설명 드리겠습니다.
첫째로, 알고리즘에서는 이진수를 배열에 저장할 때 보여지는( 1 0 1 1 0 0 1 1 1 ) 순서로 배열에
저장하지 않습니다. 이진수 첫째 자리부터 수를 입력합니다. 다시 말해 보여지는 것과 반대방향
( 1 1 1 0 0 1 1 0 1 )으로 뒤집혀서 배열에 저장 됩니다. 단지 저장을 거꾸로해서 교재와
같이 9번째 배열부터 시작하는 것입니다. 그러나 진법 변환 계산은 정상 순서 첫번째 배열부터 시
작하므로 혼동 하지 마시길 바랍니다.
둘째, 출력을 다시 거꾸로 하는 이유는 위에서 말했듯이 진법계산을 첫째자리 부터 하기 때문입니
다. 진법 변환시 배열의 처음부터 3자리씩 끊어서 계산하는데 101 100 111 을
계산 하면 111 이 7로 먼저 계산되고 첫번째 배열에 저장됩니다.
100 은 4로 두번째로 계산되어 두번째 배열에 저장됩니다.
그리고 101이 마지막으로 5로 계산되어 세번째 배열에 저장됩니다.
그러나 이진법 101 100 111 을 계산한 결과 5 4 7 을 출력 하기 위해서는 7 4 5 순서로 저장된
배열에서 숫자를 거꾸로 출력해야 됩니다.
이상 문의에 대한 답변을 마치겠습니다.
설명을 하다보니 말이 길어졌습니다. 또 다시 의문이 생기면 질문 올려주시면 감사하겠습니다.
앞으로도 성실히 학습에 임하여 주시면 감사하겠습니다. ^^
9개의 배열공간에 2진수가 저장이 되어있는데..
101 100 111 2진수를 8진수로 변환하려면 묶자나요 3개씩 끊어서요..
왜 9번째 배열부터 시작하고 나중에 출력할때는 다시 거꾸로 출력하는지 궁금하네요
애초에 첫번째 자리부터 문제를 풀면 출력할때도 그대로 하면 되지 않나요?ㅜㅜ
|