책 내용 질문하기
1의보수 2의보수부분
도서
2019 시나공 정보처리기능사 실기
페이지
90
조회수
215
작성일
2019-09-18
작성자
탈퇴*원
첨부파일

2의 보수 부분에서 C의 마지막 빈칸인 5번이 C 말고 1로 했을때의 디버깅도 똑같지 않나요??

답변
2019-09-18 11:34:19

안녕하세요 길벗수험서 운영팀입니다.

 

예를 들어, 1의 보수 10110을 2의 보수화 시킨다고 가정해보죠.

정답은 10111이 되야 할 것입니다. 맨 뒤에 1만 더하면 되니까요.

 

C의 디버깅을 진행해보면, 첫번째는 5번째 자리가 0이기 때문에 4번째 자리의 자리올림 수 C는 0이 됩니다. 다음은 어떻게 될까요.

4번째 자리를 처리할 때, 3번째 자리의 자리올림 수가 4번째 자리의 값에 따라 1이 되면서 3번째 자리에 1을 더하게 됩니다.

 

결국 이전에 연산한 자리의 값이 1인 경우 무조건 다음 자리에 자리올림수를 더하는 알고리즘이 됨에 따라 잘못된 결과를 내게 되죠.

이 연산대로 수행하게 되면 1의 보수 10110의 2의 보수는 11011이라는 잘못된 결과를 내게 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-09-18 11:34:19

    안녕하세요 길벗수험서 운영팀입니다.

     

    예를 들어, 1의 보수 10110을 2의 보수화 시킨다고 가정해보죠.

    정답은 10111이 되야 할 것입니다. 맨 뒤에 1만 더하면 되니까요.

     

    C의 디버깅을 진행해보면, 첫번째는 5번째 자리가 0이기 때문에 4번째 자리의 자리올림 수 C는 0이 됩니다. 다음은 어떻게 될까요.

    4번째 자리를 처리할 때, 3번째 자리의 자리올림 수가 4번째 자리의 값에 따라 1이 되면서 3번째 자리에 1을 더하게 됩니다.

     

    결국 이전에 연산한 자리의 값이 1인 경우 무조건 다음 자리에 자리올림수를 더하는 알고리즘이 됨에 따라 잘못된 결과를 내게 되죠.

    이 연산대로 수행하게 되면 1의 보수 10110의 2의 보수는 11011이라는 잘못된 결과를 내게 됩니다.

     

    행복한 하루되세요 :)

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