책 내용 질문하기
section14 진법변환-10진수를 임의의 진수로 변환하기
도서
[2012] 정보처리기사 실기
페이지
76
조회수
283
작성일
2012-07-05
작성자
첨부파일

76페이지를 보시면

④의 정답이 A(E+1)이라고 나와있고

E : C를 D로 나눈 몫이 저장될 변수

E의 변화 값은

1

0

1

1

1

이렇게 디버깅 되는데요.

아무리 생각해봐도 A(E+1)가 답이 아닌듯 싶은데요.

A(E+1)을 찍으라고 알고리즘이 되있는데

E값에 처음 1이 오니 A(1+1)=A(2)를 출력

그다음에 E값에는 0이 오니 A(1)를 출력

다음 E값 1오니 A(2)출력 그 다음부터도 다 A(2) 출력인데, 답이 아닌듯 싶습니다.

당연히 10진수 23을 2진수로 변환하면 10111로 변환되는데

E값이 나왔던 거랑 일치하는데 그럼

A[1]=1, A[2]=0, A[3]=1, A[4]=1, A[5]=1

이런식으로 답이 와야 하지 않나요?

저런식으로 답을 출력하라고 하려면

K=0이라는 변수를 줘서

A[K+1] 찍으라고 하는게 맞는거 같은데요.

답변
2012-07-06 09:23:10

안녕하세요.

말씀하신데로 E는 1, 0, 1, 1, 1이 산출됩니다.

그리고 A 배열에는

A(1) = 0

A(2) = 1

A(3) = 2

..... 와 같이 배열의 각 위치에는 위치값 보다 1작은 값들이 들어있습니다. 이는 0부터 기억이 되어 있기 때문이죠.

그래서 E 값을 이용해 1, 0, 1, 1, 1을 출력하려면

A(E+1)과 같이 E값에 +1을 한 값으로 배열의 위치를 지정하면 됩니다.

그래야 E가 1일 때 A(2)에 있는 1이 출력되기 때문이죠.

오늘도 즐거운 하루 되세요.

"
  • *
    2012-07-06 09:23:10

    안녕하세요.

    말씀하신데로 E는 1, 0, 1, 1, 1이 산출됩니다.

    그리고 A 배열에는

    A(1) = 0

    A(2) = 1

    A(3) = 2

    ..... 와 같이 배열의 각 위치에는 위치값 보다 1작은 값들이 들어있습니다. 이는 0부터 기억이 되어 있기 때문이죠.

    그래서 E 값을 이용해 1, 0, 1, 1, 1을 출력하려면

    A(E+1)과 같이 E값에 +1을 한 값으로 배열의 위치를 지정하면 됩니다.

    그래야 E가 1일 때 A(2)에 있는 1이 출력되기 때문이죠.

    오늘도 즐거운 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.