책 내용 질문하기
76
도서
[2011] 정보처리산업기사 실기
페이지
76
조회수
88
작성일
2011-10-05
작성자
첨부파일

동그라미 3번에서 D=DXB

동그라미 4번에서 A(E+1)

이것이 왜 이렇게 되는지 잘 모르겠습니다

쉽고 자세한 설명 부탁드릴께요^^

답변
2011-10-06 09:22:19

안녕하세요.

D=D*B는 앞의 알고리즘의 이해에서 설명했듯이 가장 가까운 누승을 찾기 위한 과정입니다.

B가 2이고 C가 23이 입력되었다면

D에 2진수인 2, 즉 B의 값을 계속 곱합니다. C보다 커질때까지

그럼 D는 2 4 6 8 16 32 로 변하다가 32일 때 6번 동그라미로 이동합니다.

C보다 커질때까지 구한 것이므로 크지 않은 가까운 누승을 찾기 위해 7번 동그라미 과정을 통해 첫번째 누승인 16을 산출합니다.

그 이후 16 8 4 2 1의 누승을 이용하면서 진법 변환을 수행하는 것이죠.

A(E+1)은

A 배열에 저장된 값은 A(1) 즉 A의 첫번째 배열에 0부터 저장되었기 때문입니다.

즉 사용할 배열의 값의 자리수와 실제 저장된 값과 차이가 1이므로

A 배열에 있는 5란 값을 출력하려면 A(6)을 지정해야 하니 E에 1을 더한 E+1로 위치를 지정하는 것입니다.

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

"
  • *
    2011-10-06 09:22:19

    안녕하세요.

    D=D*B는 앞의 알고리즘의 이해에서 설명했듯이 가장 가까운 누승을 찾기 위한 과정입니다.

    B가 2이고 C가 23이 입력되었다면

    D에 2진수인 2, 즉 B의 값을 계속 곱합니다. C보다 커질때까지

    그럼 D는 2 4 6 8 16 32 로 변하다가 32일 때 6번 동그라미로 이동합니다.

    C보다 커질때까지 구한 것이므로 크지 않은 가까운 누승을 찾기 위해 7번 동그라미 과정을 통해 첫번째 누승인 16을 산출합니다.

    그 이후 16 8 4 2 1의 누승을 이용하면서 진법 변환을 수행하는 것이죠.

    A(E+1)은

    A 배열에 저장된 값은 A(1) 즉 A의 첫번째 배열에 0부터 저장되었기 때문입니다.

    즉 사용할 배열의 값의 자리수와 실제 저장된 값과 차이가 1이므로

    A 배열에 있는 5란 값을 출력하려면 A(6)을 지정해야 하니 E에 1을 더한 E+1로 위치를 지정하는 것입니다.

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

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