Hcifoyougodyzur

Hcifoyougodyzur

채택률 높음

중간고사 시험문제인데 도저히 잘이해가 안가요

0000 0111(7)을 보수로 치하면 1111 1000에 최하위 비트에 1을 더하고 최하위 비트가 0이면 0으로 계산하는 건 이해 했는데 1111-1000에 +-부호 바꾸는게 맞는지 모르겠어요!이게 맞게 이해한걸까요?

2개의 답변이 있어요!

  • 안녕하세요. 

    이 문제는 2의 보수 표현을 이해하시면 해결됩니다.

    0000 0111은 10진수로 7이고

    이를 음수로 바꾸기 위해 2의 보수를 취하면

    비트를 반전하여 1111 1000이 되고 여기에 1을 더해서 1111 1001이 됩니다

    따라서 1111 1001은 10진수로 마이너스 7을 의미합니다

    질문하신 부분처럼

    1111 1000에서 부호를 따로 바꾸는 개념이 아니라

    2의 보수 자체가 이미 음수를 표현하는 방식입니다

    즉 비트를 반전하고 1을 더한 결과 자체가 음수 표현이기 때문에

    부호를 따로 바꾸는 과정은 필요하지 않습니다

    채택된 답변
  • 안녕하세요. 시호정 정보처리기사입니다.

    결론부터 말씀드리자면 잘 이해하고 계십니다.

    2의 보수를 취하는 목적은 부호를 반대로 바꾸기 위해서 이며, 0000 0111(7) 이라면 보수를 취해 나온 1111 1001은 -7이 됩니다.

    0000 0111을 1111 1000으로 비트를 반전 시키고, 최하위 비트에 1을 더해서 2의 보수를 완성 시키게 됩니다.

    1111 1000에 1을 더하게 되면 1111 1001이 됩니다.

    도움 되셨길 바랍니다.