책 내용 질문하기
p119 44번문제
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
조회수
53
작성일
2017-04-02
작성자
탈퇴*원
첨부파일

해설을 봐도 잘 이해가 안됩니다 자세한 풀이 부탁드립니다

답변
2017-04-03 13:26:17

안녕하세요.

short은 2바이트로 값의 표현 범위가 32767 ~ -32768입니다.

즉 양수로 32767까지 표현할 수 있는 여기에 1을 더하면 값을 정상적으로 표현할 수 없어 오버플로가 발생한다는 의미입니다.

그래서 정상적인 32768이 표시되지 않고 -32768이 표시된 것으로 표시되는 과정은

32767은 이진수로 0111 1111 1111 1111입니다.

여기에 +1을 하면 1000 0000 0000 0000입니다. 2바이트로 표현되는 값이므로 맨 왼쪽은 부호 비트입니다.

맨 왼쪽의 부호비트가 1이 됐으므로 이 값은 음수라는 의미이며 000 0000 0000 0000이 음수라는 것입니다.

그러므로 000 0000 0000 0000을 2의보수로 변환하면 원래의 값을 알 수 있습니다.

먼저 1의 보수로 변환하면 111 1111 1111 1111 이고 여기에 +1을 하면 2의 보수이므로 1000 0000 0000 0000이 됩니다.

이 값은 10진수로 32768이며 2의보수 변환전에 부호가 음수임을 알고 있으므로 -32768이라는 것입니다.

단순히 표현 범위 값을 넘어서므로 발생한 오류를 설명하기 위한 것입니다.

잘 이해되지 않으면 표현값 이상이 저장되면 오버플로가 발생한다는 것만 기억하고 넘어가세요.

이 문제와 같이 직접 값을 작성하라는 문제는 출제되기 어려울 것입니다.

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

  • *
    2017-04-03 13:26:17

    안녕하세요.

    short은 2바이트로 값의 표현 범위가 32767 ~ -32768입니다.

    즉 양수로 32767까지 표현할 수 있는 여기에 1을 더하면 값을 정상적으로 표현할 수 없어 오버플로가 발생한다는 의미입니다.

    그래서 정상적인 32768이 표시되지 않고 -32768이 표시된 것으로 표시되는 과정은

    32767은 이진수로 0111 1111 1111 1111입니다.

    여기에 +1을 하면 1000 0000 0000 0000입니다. 2바이트로 표현되는 값이므로 맨 왼쪽은 부호 비트입니다.

    맨 왼쪽의 부호비트가 1이 됐으므로 이 값은 음수라는 의미이며 000 0000 0000 0000이 음수라는 것입니다.

    그러므로 000 0000 0000 0000을 2의보수로 변환하면 원래의 값을 알 수 있습니다.

    먼저 1의 보수로 변환하면 111 1111 1111 1111 이고 여기에 +1을 하면 2의 보수이므로 1000 0000 0000 0000이 됩니다.

    이 값은 10진수로 32768이며 2의보수 변환전에 부호가 음수임을 알고 있으므로 -32768이라는 것입니다.

    단순히 표현 범위 값을 넘어서므로 발생한 오류를 설명하기 위한 것입니다.

    잘 이해되지 않으면 표현값 이상이 저장되면 오버플로가 발생한다는 것만 기억하고 넘어가세요.

    이 문제와 같이 직접 값을 작성하라는 문제는 출제되기 어려울 것입니다.

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

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