규야 [907617] · MS 2019 · 쪽지

2020-04-25 16:38:33
조회수 1,223

3모 국어 30번 알려주실분..ㅠㅠ

게시글 주소: https://orbi.kr/00029661503

2의보수법에서는 1의보수로 나타내서 1을 더해서 맨앞에 1을 붙이는거라고 적혀있는데

각주에 0이 000이니까 1의 보수는 111인데 거기에 1을 더하면 1000아닌가여? 거기에 맨앞에 1이나 0을 붙이면 먼가 이상하게되지않나요........? 근데 해설보면 1111에 1더하면 10000이고 거기서 맨앞 1을 빼몀 0000 이다 라고 적혀있는데 왜 1111에 1을 더하나요?,, 2의보수법에선 1의보수를 구한 후 1을 더해줘야하는거아닌가요??? 제가 어디부분에서 잘못 이해한건지 모르겠어요 ㅠㅠㅠ

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.

  • 한때 고2였던 시체 · 905359 · 20/04/25 16:41 · MS 2019
    회원에 의해 삭제된 댓글입니다.
  • 대동여지 · 954940 · 20/04/25 16:42 · MS 2020

    저도 그렇게 순서파악해서 고민중..
    이긴한데 지문 흐름에 따르면 0000이 맞는거라 계산법을 잘 모르겠어요

  • 규야 · 907617 · 20/04/25 16:44 · MS 2019

    넵 지문에서는 1111 0000 둘다 나와서 문제가 되니까 0000만나와야한다 이렇게 되는게 맞을것같은데 왜 1111에 1을 더하는지가 의문이에요 ㅠㅠ

  • 대동여지 · 954940 · 20/04/25 16:46 · MS 2020

    저는 사실 굳이 따지자면 1000이 될꺼같아요
    데이터 비트에 1을 더하면 1000인데, 맨 마지막 문장에서 오버풀로하면 버리라 한게 최상위 붙인 후 버리르는 게 아니라 언급없어서 그거따라서 버린다고 치면(..)
    000에다가 원래 음수니까 1 붙이고..

  • 대동여지 · 954940 · 20/04/25 16:46 · MS 2020

    아물론 0000이 맞는데 걍 제 계산이 이랬다는.. 왜죠ㅠ

  • 대동여지 · 954940 · 20/04/25 16:42 · MS 2020

    지문 흐름대로면 절댓값은 0이 2개로 나타나서 문제고, 1의보수도 같은 문젠데 그 문제를 해결한게 2보수라 같게(0000으로)나타나는게 논리적이긴한데 계산을,,

  • 규야 · 907617 · 20/04/25 16:48 · MS 2019

    이런 문제는 넘어가야맞는걸까요 ㅠㅠㅠㅠ 지문은 다 이해했는데 29 30은 전혀 못풀겠어요

  • 대동여지 · 954940 · 20/04/25 16:51 · MS 2020

    29는 설명해드릴수잇을꺼같은뎅. ,,
    몇번선지요?

  • 대동여지 · 954940 · 20/04/25 16:51 · MS 2020

    전 가끔 경제쪽에서 이해안되면 넘어가고 마지막에풀긴해요..(국어 잘하진 암ㅎ음..그냥 그롷다고요..ㅎㅎ

  • 한때 고2였던 시체 · 905359 · 20/04/25 16:43 · MS 2019

    전 이해 안하고 걍 소거법으로 풀은
  • 대동여지 · 954940 · 20/04/25 16:43 · MS 2020

    처음에 제대로 안읽어서 1번 소거못한
  • 규야 · 907617 · 20/04/25 16:45 · MS 2019

    저도 그렇습니다 ... 시간이없으니까 막읽어서...ㅠㅠ

  • 규야 · 907617 · 20/04/25 16:46 · MS 2019
    회원에 의해 삭제된 댓글입니다.
  • 규야 · 907617 · 20/04/25 16:47 · MS 2019

    소거법으론 어떻게 푸셨나요? ㅠㅠ 다 계산해봐야하는건가요? 제가 이런 지문은 전혀 못해서...

  • 대동여지 · 954940 · 20/04/25 16:50 · MS 2020

    소거법하려면
    1번 1의 보수법이나 2의보수법은은 음수할때 쓰는것이므로 x
    3번 4번5번은 일단 가 에도 맞지 않고
    C에는 0000이 들어가야 한다는거 감안하고 그래도 5번선지만 보면,
    1111은 부호화에 따르면 -7이 돼서 0과 관련 ㄴ

  • [수민쌤] · 429250 · 20/04/25 17:03 · MS 2012

    그냥 글을 어설프게 쓴 거예요 상황 고려 충분히 안 하고,
    개연적으로 설명하려면 할 수는 있는데, 굳이 붙잡고 공부하실 필요 없습니다.
    평가원 기출 한 줄 더 공부하세요 차라리

  • SweeticS · 463916 · 20/04/25 18:42 · MS 2013

    부호화 절댓값과 1의 보수법의 큰 약점은 0을 나타내는 워드 유형이 두 가지가 존재한다는 것입니다.

    0은 +0이나 -0이나 모두 같은 값인데, 두 음수 표현 방식에서 데이터 비트는 절댓값을 기준으로 작성됩니다. 그래서 0을 +0으로만 거르지 못하고 쓸데없이 -0을 표현하는 또 다른 표현 방식이 만들어지게 됩니다.

    그래서 1의 보수법에서는 0000과 1111이 모두 0을 표시하는 게 되어버리는데, 전자는 +0을 나타낸 것이고 후자는 -0을 나타낸 것입니다. -0을 1의 보수법에 따라 계산한다면, 먼저 000에서 각 자리의 숫자에 대한 1의 보수로 나타내야 하므로 111이 됩니다.

    그리고 1의 보수법은 음수를 표현하는 방식이기 때문에 최상위 비트는 1이며, -0은 1111로 나타내어 집니다. 아마 이 부분에서 헷갈리신 것 같습니다

    2의 보수법에서는 1의 보수법을 통해 표현된 워드 값에 1을 더한 값이 최종 계산값이니 1+1=10임을 이용하면 1111+1의 값이 10000이 됩니다. 여기서 오버플로된 제일 앞의 비트는 버리기 때문에 2의 보수법에서 0은 +0이든 -0이든 0000이 됩니다. (+0을 2의 보수법으로 표현하지 않는 이유는 +0을 양의 정수로 처리하기 때문입니다)

  • 규야 · 907617 · 20/04/25 18:57 · MS 2019

    답변감사합니다! 지문에 2의보수법의 -3을 예시로든것에서는 1의보수법에서 1을 더한게아니라 1의보수를 구해서 +1을하고 앞에 음수를 나타낸 1을 붙여주었는데 이건 3이 양수여서 이렇게한것이고 0은 양의정수가 아니어서 1111+1을 해준다는 말씀이시죠....?

  • SweeticS · 463916 · 20/04/25 19:09 · MS 2013

    아이고 이거 답글로 단다는 게 실수로 밑에 또 달았네요 밑에꺼 봐주세요 감사합니다~~~~~~~

  • SweeticS · 463916 · 20/04/25 19:09 · MS 2013

    부호화 절댓값과 1의 보수법과 2의 보수법 모두 음수를 표현하는 방식입니다

    -3을 2의 보수법으로 표현할 때 마지막에 최상위 비트에 1을 붙여준 이유는 그걸 음수로 읽어야 한다는 표시입니다. 3이 양수라서 그렇게 했다기 보다는 같은 데이터 비트 값을 가지는 다른 양의 정수와 헷갈리지 않게 표시를 했다고 하는게 맞겠습니다

    1111+1을 해주는 것은 음의 값을 갖는 0을 2의 보수법으로 표현하기 위한 것입니다. 우리 상식적으로는 +0과 -0을 구분짓는 거 자체가 헛짓거리지만 지문을 볼 때 컴퓨터는 그런 상식이 없는건지 굳이 양의 0과 음의 0을 따로 구하는 것 같습니다