책 내용 질문하기
144p 모의고사요
도서
[2013] 정보처리기사 실기
페이지
144
조회수
249
작성일
2013-04-03
작성자
첨부파일

모의고사 4회 문제중에 처리조건보면 2의보수로 표현된 값이라고 나와있는데요

마지막에 음수처리과정 보면

DEC= 128-DEC다음에

DEC = DEC* (-1)라고 나오는데

이 방법은 부호화된 2진 표현아닌가요?

2의 보수 방법으로 음수로 바꿀려면 DEC = DEC-256을 해야 될것 같은데요

문제가 잘못된듯 싶네요

답변
2013-04-03 10:35:24

안녕하세요.

이 알고리즘은 부호 비트는 값으로 처리할 의미가 없으므로 2번째 비트부터 처리를 합니다.

예를 들어 1101 1101이 입력되었다고 가정하면,

1101 1101은 -35입니다. 앞의 부호가 1이므로 음수이고 음수인 경우 값은 2의 보수로 표현된 값이기 때문이죠.

+35의 경우는 0010 0011입니다. 이를 2의 보수로 표현해 보면, 먼저 1의 보수로 변환 1101 1100입니다. 여기에 +1을 하면 2의 보수가 되죠. 1101 1101이 됩니다.

순서도에서 처리는 다음과 같이 수행됩니다.

부호 비트를 제외한 나머지 비트, 즉 P가 2부터 진행하여 각 값의 누적값을 DEC에 저장합니다.

그러면 값이 1인 자리만 누승의 곱이 의미가 있으므로

= 1*2^6 + 0 + 1 * 2^4 + 1*2^3 + 1*2^2 + 0 + 1*2^0

= 64 + 16 + 8 + 4 + 1 = 93

즉 해설에서 동그라미 1~7번까지의 처리 결과로 DEC는 93이 됩니다.

이어서 S(1)이 1이므로 DEC = 128-DEC가 되어 DEC = 128-93 = 35가 됩니다.

이어서 DEC=DEC*(-1)에 의해 DEC는 최종적으로 -35를 갖습니다.

즉 1101 1101은 음수로 표현된 2의 보수 값으로 10진수로 표현하면 -35가 되는 것이죠.

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

"
  • *
    2013-04-03 10:35:24

    안녕하세요.

    이 알고리즘은 부호 비트는 값으로 처리할 의미가 없으므로 2번째 비트부터 처리를 합니다.

    예를 들어 1101 1101이 입력되었다고 가정하면,

    1101 1101은 -35입니다. 앞의 부호가 1이므로 음수이고 음수인 경우 값은 2의 보수로 표현된 값이기 때문이죠.

    +35의 경우는 0010 0011입니다. 이를 2의 보수로 표현해 보면, 먼저 1의 보수로 변환 1101 1100입니다. 여기에 +1을 하면 2의 보수가 되죠. 1101 1101이 됩니다.

    순서도에서 처리는 다음과 같이 수행됩니다.

    부호 비트를 제외한 나머지 비트, 즉 P가 2부터 진행하여 각 값의 누적값을 DEC에 저장합니다.

    그러면 값이 1인 자리만 누승의 곱이 의미가 있으므로

    = 1*2^6 + 0 + 1 * 2^4 + 1*2^3 + 1*2^2 + 0 + 1*2^0

    = 64 + 16 + 8 + 4 + 1 = 93

    즉 해설에서 동그라미 1~7번까지의 처리 결과로 DEC는 93이 됩니다.

    이어서 S(1)이 1이므로 DEC = 128-DEC가 되어 DEC = 128-93 = 35가 됩니다.

    이어서 DEC=DEC*(-1)에 의해 DEC는 최종적으로 -35를 갖습니다.

    즉 1101 1101은 음수로 표현된 2의 보수 값으로 10진수로 표현하면 -35가 되는 것이죠.

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

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