책 내용 질문하기
124p24번
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
124
조회수
343
작성일
2019-06-16
작성자
탈퇴*원
첨부파일

비트 연산자 ~ 관련 하여 문의 드립니다..

 

113페이지 문제 3에서는

비트연산자 ~에 대해 2의 보수를 취했는데

 

124P24번에서는 2의 보수을 구하지 않고

연산이 이루어 졌습니다.

 

** 어느 때 비트연산자 ~ 에 대한 값을 2의 보수를 취하여 계산하고

어느때 취하지 않고 구하는지 답변 부탁드립니다. 

답변
2019-06-17 13:39:37

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

 

컴퓨터에서 음수를 처리할 때 2의 보수로 처리합니다.

이것을 컴퓨터가 아닌 사용자가 볼 수 있도록 printf("%d", A)를 통해 출력하는 경우 원래 수로 나타내기 위해 다시 2의 보수화를 하여 보여주는 것이죠.

(사람용 음수 -> 2의보수화 -> 컴퓨터용 음수 -> 2의보수화 -> 사람용 음수)

 

문제3번의 경우 음수(~(not)을 통해 음수화된 비트)를 출력하기 위해 2의 보수화로 처리한 것입니다.

 

문제24번은 a&b&~b을 처리한 결과 나온 비트는 맨 앞의 부호비트가 '0'이기 때문에 양수입니다.

(컴퓨터 내부에서 처리시에는 굳이 2의보수화가 필요 없습니다. 출력시에만 원래 수로 사람에게 보여주기 위해 2의보수화 처리를 합니다.)

때문에 출력시 굳이 2의 보수화가 필요 없죠.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-17 13:39:37

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

     

    컴퓨터에서 음수를 처리할 때 2의 보수로 처리합니다.

    이것을 컴퓨터가 아닌 사용자가 볼 수 있도록 printf("%d", A)를 통해 출력하는 경우 원래 수로 나타내기 위해 다시 2의 보수화를 하여 보여주는 것이죠.

    (사람용 음수 -> 2의보수화 -> 컴퓨터용 음수 -> 2의보수화 -> 사람용 음수)

     

    문제3번의 경우 음수(~(not)을 통해 음수화된 비트)를 출력하기 위해 2의 보수화로 처리한 것입니다.

     

    문제24번은 a&b&~b을 처리한 결과 나온 비트는 맨 앞의 부호비트가 '0'이기 때문에 양수입니다.

    (컴퓨터 내부에서 처리시에는 굳이 2의보수화가 필요 없습니다. 출력시에만 원래 수로 사람에게 보여주기 위해 2의보수화 처리를 합니다.)

    때문에 출력시 굳이 2의 보수화가 필요 없죠.

     

    행복한 하루되세요 :)

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