책 내용 질문하기
정보처리기사 실기 개정판 1권 실무 알고리즘 응용 p218과 관련된 질문입니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
조회수
161
작성일
2017-06-05
작성자
탈퇴*원
첨부파일

p546는 해당 문제에 대한 디버깅 표인데 i가 3일 때 C가 0으로 변환이 되는데 봐도 이해를 잘 못하겠습니다. 알고리즘을 보면 C가 1로 초기화를 시키고 계속 1로 가지고 가는것처럼 보이는데 i가 3일때 0으로 된다는건 자리 올림수가 1이 아니기 때문에 c가 0으로 된다는건가요?... 0이 되는부분이 이해가 잘 안갑니다.

답변
2017-06-07 09:30:09

안녕하세요.

i가 처음에 0~5까지 변화될 때는 변환할 자료를 입력받는 과정으로 C의 값은 변화가 없습니다.

입력이 완료된 상태, 즉 i가 5일 때부터 2의 보수 변환 작업이 시작됩니다.

i가 5일 때

B2[i] = B1[i] + C, 즉 B2[5] = B1[5] + C 인데 C는 초기값으로 1을 가지므로

B2[5] = 1 + 1 이므로 B2[5]에는 2가 저장됩니다.

B2[5] = B2[5] MOD 2에 의해 B2[5]에는 0이 다시 저장됩니다.

C = B1[5] * C, 즉 C = 1 * 1 이므로 C는 1이 됩니다.

위와 같은 과정으로 C 값은 B1이 1일 때는 1이 였다가 B1이 0이 되는 경우 0으로 변환됩니다.

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

  • *
    2017-06-07 09:30:09

    안녕하세요.

    i가 처음에 0~5까지 변화될 때는 변환할 자료를 입력받는 과정으로 C의 값은 변화가 없습니다.

    입력이 완료된 상태, 즉 i가 5일 때부터 2의 보수 변환 작업이 시작됩니다.

    i가 5일 때

    B2[i] = B1[i] + C, 즉 B2[5] = B1[5] + C 인데 C는 초기값으로 1을 가지므로

    B2[5] = 1 + 1 이므로 B2[5]에는 2가 저장됩니다.

    B2[5] = B2[5] MOD 2에 의해 B2[5]에는 0이 다시 저장됩니다.

    C = B1[5] * C, 즉 C = 1 * 1 이므로 C는 1이 됩니다.

    위와 같은 과정으로 C 값은 B1이 1일 때는 1이 였다가 B1이 0이 되는 경우 0으로 변환됩니다.

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

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