책 내용 질문하기
130쪽 44번과 113쪽 3번2의 보수법, 음수 판별 비교
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
113,130
조회수
215
작성일
2019-09-27
작성자
탈퇴*원
첨부파일

문제 3)

 

15=0000 1111

~  1111 0000

 

맨 왼쪽 비트는 부호비트, 원래의 값을 알기 위해서는 1111 0000에 대한 2의 보수를 구한다. 

 

문제 44)

 

32767 = 0111 1111 1111 1111

 

여기에 1을 더하면

1000 0000 0000 0000이다.

---------------------------------------

 

라고 되어있는데요. 문제 3번에서는 +1안하고 맨왼쪽 부호비트로 음수판별했는데,

문제 44번에서는 왜 1을 더하고 맨 왼쪽 비트 부호로 음수판별하는건가요?? - 첫번째 질문

 

JAVA는 C언어와 마찬가지로 부호화 2의 보수법을 사용한다는 말은 수를 2의 보수로 바꿔 인식한다는 말인가요? - 두번째 질문

 

 

답변 부탁드립니다.

 

 

답변
2019-09-27 10:29:48

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

 

프로그래밍 언어에서 숫자를 표기하는 자료형에서는 +1이나 not이나 어떤 계산 방식을 사용하든지 간에 해당 자료형의 첫 비트가 0인 경우 양수, 1인 경우 음수로 판독합니다.

(양수만 저장하는 자료형이 아닌 경우)

 

----------------

 

음.. 질문의 요지를 정확히 이해하지 못했습니다.

C언어나 Java언어 둘 모두 "음수"에 한해서만 2의 보수로 변환하여 메모리에 저장됩니다.

메모리에 저장된 수치 자료형을 읽어들여 맨 앞의 비트가 '1'이라면 "이것은 음수구나"하고 인식하여 나머지 비트를 2의 보수화로 변환한 다음 사용자에게는 마이너스('-')를 붙여 출력해주는 형식이죠.

 

행복한 하루되세요 :)

  • 관리자
    2019-09-27 10:29:48

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

     

    프로그래밍 언어에서 숫자를 표기하는 자료형에서는 +1이나 not이나 어떤 계산 방식을 사용하든지 간에 해당 자료형의 첫 비트가 0인 경우 양수, 1인 경우 음수로 판독합니다.

    (양수만 저장하는 자료형이 아닌 경우)

     

    ----------------

     

    음.. 질문의 요지를 정확히 이해하지 못했습니다.

    C언어나 Java언어 둘 모두 "음수"에 한해서만 2의 보수로 변환하여 메모리에 저장됩니다.

    메모리에 저장된 수치 자료형을 읽어들여 맨 앞의 비트가 '1'이라면 "이것은 음수구나"하고 인식하여 나머지 비트를 2의 보수화로 변환한 다음 사용자에게는 마이너스('-')를 붙여 출력해주는 형식이죠.

     

    행복한 하루되세요 :)

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