2의 보수 장점 - WHY TWO'S COMPLEMENT?

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • '부호와절대값 방식', '1의 보수 방식', '2의 보수 방식'의 원리를 살펴보고 '왜 2의 보수를 사용하는 것인지(WHY TWO'S COMPLEMENT?)'에 대한 개념을 이해하는 강좌입니다.

Комментарии • 67

  • @허영운-w6z
    @허영운-w6z 2 года назад +9

    2의 보수를 사용하는 이유 :
    1) 부호비트방식과 1의 보수표현법은 +0과 -0의 표현이 다르다.
    그러나 2의 보수표현법은 +0과 -0의 표현이 같다.
    2) +0과 -0을 하나로 표현할 수 있어 저장의 효율이 향상된다.

    • @대멀쌤
      @대멀쌤  2 года назад +2

      좋습니다.
      요약이 잘 되어있네요.
      영상은 이 멋진 요약을 증명하는 내용입니다^^

  • @오다슬-o5u
    @오다슬-o5u 2 года назад +3

    엉엉... 선생님 정말 감사합니다. ㅠㅠ 너무너무 감사해요. 이해가 되어 문제를 풀었습니다. ㅠㅠ 정말 감사합니다!!

    • @대멀쌤
      @대멀쌤  2 года назад

      쉬운 내용은 아니었어요.
      이해하시고 공부하시느라 고생하셨어요.
      감사합니다^^

  • @eunyu1214
    @eunyu1214 5 месяцев назад +2

    안녕하세요. 십진수 -1, -2 와 같이 음수를 2진수로 표현할때 부호와 절대치 값이랑 2의 보수 값이랑 다른데, 두 표현 다 맞다고 할 수 있는건가요?

    • @대멀쌤
      @대멀쌤  5 месяцев назад

      두 표현 모두 필요에 의해 사용되는 정상 값입니다.
      다만 2의보수가 컴퓨터 데이터처리에 사용되며 이를 이해하기 위해 부호와 절대치 방법을 사용하죠.

  • @kero2527
    @kero2527 Год назад +1

    이 전에 영상에서 2의 보수가 캐리가 없을 경우 2의 보수를 한번 더 취해준다고 하셨는데 왜 4:11 에서는 0010에서 2의 보수를 한번 더 안 취하는 걸까요? ㅜㅜ

    • @대멀쌤
      @대멀쌤  Год назад

      제가 4:11을 봤는데요.
      말씀하신 0010이 보이지 않아서요.
      다시 설명 부탁드립니다.

  • @주키애오
    @주키애오 Год назад +1

    표에 없는 -9라는 숫자일 경우 컴퓨터 내부에서 어떻게 계산하는지 궁금해서 질문 드립니다.
    1BYTE 환경에서 부호 있는 정수일 경우 사용 가능한 범위는 -128~127
    -9를 입력할 경우 컴퓨터 내부에서는 2진수 1111 0111이 됨
    최상위 비트가 1이므로 - 부호 출력됨, 나머지 하위 비트 111 0111은 9가 되야하는데,
    컴퓨터 내부에서 어떻게 계산하면 111 0111이 9가 되서
    화면창에 (-)부호&9인 -9가 출력될 수 있는건가요?

    • @대멀쌤
      @대멀쌤  Год назад

      말씀해주신 것과 같이 1BYTE 환경에서 부호 있는 정수일 경우 사용 가능한 범위는 -128~127이며
      -9를 입력할 경우 컴퓨터 내부에서는 2진수 1111 0111이 됩니다. 이 표현이 바로 2의 보수입니다.
      부호를 제외하고
      111 0111이 얼마인지 표현해볼게요.
      얼마인지 확인하기 위해 다시 2의 보수를 취해보겠습니다.
      111 0111
      -> 000 1000(1은 0으로, 0은 1로 변환)
      000 1001(최하위 비트에 1을 더함)
      = 9
      즉, 111 0111은 2의 보수이므로 부호화절대치 방식으로 수를 바꾸면 0001001이 되어 9를 의미하게 됩니다.

    • @주키애오
      @주키애오 Год назад +1

      @@대멀쌤 답변 감사합니다.
      그럼 최상위 비트가 음수인 1일 경우 최상위 비트를 제외한 하위 비트는 한번 더 2의 보수 처리하도록 컴퓨터(가산기)가 설계된거라고 보면 될까요?

    • @대멀쌤
      @대멀쌤  Год назад

      @@주키애오 맞습니다. LED액정이 달린 계산기를 예를 들어볼게요.
      계산기 내부에서는 보수를 활용하여 연산하겠지만 사용자들에게 연산의 과정이나 결과값을 보여주기 위해서는 자연수로 변환해야하는 것 처럼 인간이 연산의 문제를 해결하기 위해 연산의 과정과 그 결과를 한눈에 쉽게 알아보기 위한 필요성도 존재하는 것이지요.
      그래서 구독자님들이 어떨 때 보수로 표현해야하고 또 어떨 때는 부호화절대치로 표현해야 하는 것인지 구분하고 판단하기 어려우신 것 같습니다.

  • @live5972
    @live5972 Год назад +1

    평가원 기술임용문제 14년도 전공A 9번 풀어주실 수 있을까요? 고정소수점 표현방식, 절대값, 1의보수, 2의 보수 내용문제 인데요. 저는 답이 -7인지 -22 인지 해깔립니다. ㅡㅜ

    • @대멀쌤
      @대멀쌤  Год назад

      문제를 제시해주세요~^^

    • @대멀쌤
      @대멀쌤  Год назад

      웹에서 확인했어요.
      1000이 1의보수 표기라면 -7이고
      1000이 2의보수 표기라면 -8이고
      1111이 부호와절대값 표기라면 -7이므로 -7-8-7=-22가 되겠네요.
      -22입니다.

    • @live5972
      @live5972 Год назад +1

      감사합니다. ^^문제는 타이핑 할 수있는 문제가 아니라서 못올렸습니다.

    • @대멀쌤
      @대멀쌤  Год назад

      @@live5972 도움이 되었길 바래요^^

  • @림정훈
    @림정훈 4 года назад +1

    1의 보수 만들때 전부다 반전해주는거 아니였나요?
    여기서는 왜 맨 왼쪽꺼 빼고 반전해주는 건가요?

    • @대멀쌤
      @대멀쌤  4 года назад

      네~^^
      가장 왼쪽의 부호비트는 반전하지 않아요~

  • @sh-jz6hd
    @sh-jz6hd 3 года назад +2

    1의 보수 영상에서는 부호비트가 없었던 것 같은데.. 부호 비트를 써야하는 상황과 아닌 상황이 있나요?

    • @대멀쌤
      @대멀쌤  3 года назад

      부호비트가 있어야 정확히 저장하고 정확히 계산할 수 있다고 생각합니다.
      하지만 문제에서는 부호비트가 없을 수도 있는데 그것은 문제를 단순하게 만들기 위함이라고 생각합니다.
      부호비트가 있으면 문제 난이도가 올라가고 채점도 쉽지 않을 수 있습니다.

    • @sh-jz6hd
      @sh-jz6hd 3 года назад +2

      @@대멀쌤 그러면 1101은 13이 될 수도, -3이 될 수도 있는데 구분을 어떻게 하죠?

    • @대멀쌤
      @대멀쌤  3 года назад +1

      양수라면 13이지만
      부호비트가 있는 수라면 -5입니다.
      그러니 문제에서 미리 부호비트 여부를 알려줘야 합니다^^

    • @sh-jz6hd
      @sh-jz6hd 3 года назад +1

      @@대멀쌤 아하 감사합니다 덕분에 이해 됐습니다
      선생님 영상 덕분에 보수 잘 알아가네요ㅜㅠ

    • @대멀쌤
      @대멀쌤  3 года назад

      칭찬과 응원댓글 감사드립니다.
      열공하시고 언제든 질문 환영입니다^^

  • @twm3570
    @twm3570 2 года назад +1

    선생님 항상 좋은 강의 감사드립니다 다름이 아니라 제가 기존에 이해하고 있던 개념과 혼동이 와서 질문드립니다 학교에서 교수님 강의를 들었을 때는 MSB를 부호비트로 사용하고 이에 가중치를 두는 것으로 배웠습니다. 따라서 4bit 기준으로 부호비트를 사용했을 때 나타낼 수 있는 수의 범위가 -8~+7까지로 배웠습니다(1000 ~ 0111) 그런데 선생님 강의 내용에는 부호비트에는 가중치가 없다고 설명하셔서 이 부분에서 혼동이옵니다. 혹시 부호비트에 가중치를 두는 경우와 두지 않는 경우가 따로 있는 건지 궁금합니다

    • @대멀쌤
      @대멀쌤  2 года назад +1

      먼저 좋은 질문에 감사드립니다.
      처음 받아보는 내용의 질문이네요.
      혹시 되질문 드려도 될 지 모르겠지만
      부호비트에 가중치가 있다면
      1111은 십진수로 몇 인가요?

    • @twm3570
      @twm3570 2 года назад

      빠른답변 정말 감사드립니다 부호비트에 가중치가 있다면 1111은 -1이 될 것 같습니다

    • @twm3570
      @twm3570 2 года назад

      아.. 그럼 가중치를 두는 경우가 곧 2의 보수 체계를 사용하는 경우라고 할 수 있는 걸까요..?

    • @대멀쌤
      @대멀쌤  2 года назад +1

      @@twm3570 제 질문이 잘못됐네요.
      다시 질문드릴게요.
      1. 부호비트에 가중치가 있다면
      부호와절대치 방식의 1111은 십진수로 몇일까요?
      2. 2의 보수 방식에서 1111은 말씀하신대로 -1의 십진 값을 갖습니다.
      그런데 이 계산에서 부호비트의 가중치가 어떤 역할을 하는 것인가요?
      부호비트의 가중치에 관계없이 같은 2의 보수값이 도출되지 않나요?

    • @twm3570
      @twm3570 2 года назад +1

      @@대멀쌤 1번 질문의 답은 부호비트가 +-만 표기해주는 역할이라면 -7이 될 것 같습니다
      2번은 부호비트가 2^3만큼의 가중치를 가지는 역할로 이해하고 -2^3+2^2+2^1+1=-1과 같은 방식으로 계산했습니다 혹시 연산과정이 잘못됐을까요.. ㅠㅠ 늦은시간에 자꾸 여쭤봐서 죄송합니다😢

  • @vvv-mv1oz
    @vvv-mv1oz 3 года назад +1

    표에 있는 부호와 절댓값은 4비트인가요? 옆에 1의보수와 2의보수는 4비트 같은데..부호와 절댓값은 기존의 4비트표랑 좀 다른가요?
    여기서 1의 보수가 2개인 이유가 양수0은 부호와 절대값과 4비트에서도 0000인데 보수를 취하지 않으니 쭉 0000이고
    -0은 음수라 1000인데 1의 보수 취할때 부호비트빼고 다 1로 바꿔서 1111이라 2개인거죠?

    • @대멀쌤
      @대멀쌤  3 года назад

      네 맞습니다!!
      점점 실력이 늘고 계신 것 같습니다
      열공하세요!!

    • @vvv-mv1oz
      @vvv-mv1oz 3 года назад +1

      빠르게 답변해주셔서 항상 감사합니다! 감사인사를 계속 못드렸네요.. 이거 말고도 더 질문할 것 같네요 ㅎㅎ..

    • @대멀쌤
      @대멀쌤  3 года назад

      @@vvv-mv1oz 질문 많이 해주세요~
      저는 좋습니다ㅎㅎ

    • @vvv-mv1oz
      @vvv-mv1oz 3 года назад +1

      @@대멀쌤 저 표에 있는 부호와 절대값은 4비트라는거죠? 기존의 4비트랑 같은거 맞죠??

    • @대멀쌤
      @대멀쌤  3 года назад

      @@vvv-mv1oz 부호비트가 1비트 있고
      나머지 3비트가 데이터비트입니다.
      표 안쪽 십진값을 참고하시면 됩니다~

  • @honeybee2176
    @honeybee2176 4 года назад +1

    저 보수 얘기를 이해할 날이 올런지 이해가 안가요 ㅜㅜㅜㅜㅜㅜ

    • @대멀쌤
      @대멀쌤  4 года назад

      이해하실 수 있으실거에요!!
      부호비트와 데이터비트를 잘 구분해보세요^^

  • @vvv-mv1oz
    @vvv-mv1oz 3 года назад

    1의보수에 왜 +8과 -8은 없나요? +8이 없는 이유가 1111이라 부호와 절대값 맨 왼쪽수가 1이라 양수라는거에 위배되서 그러는건가요? 그래서 +8이 없으니 -8의 1의 보수도 없는건가요?
    2의 보수는 왜 +8이 없나요?

    • @vvv-mv1oz
      @vvv-mv1oz 3 года назад

      저 이유가 아니면 4비트라 16개까지 저장을 못하니까 -7~ -0 , +0~7 총 8개+8개 라 그런건가요?
      2의보수에서는 왜 -8의 2의 보수를 구할 수 있나요? +8은 못구하나요?

    • @vvv-mv1oz
      @vvv-mv1oz 3 года назад +1

      설마 이건가요?? 최종적 저의 생각은 이렇습니다.
      4비트라 저장할수 있는게 16개라 -7~ -0 , +0~+7 총 16개라 플마 8이 없는거고 2의보수에서는 0의 2의보수가 1개만 취급해서 한개가 비니까 -8의 보수가 저장이 될 수 있는거죠? +0의 2의보수가 있으니까 양수는 +0~ +7로 총 8개고 음수는 -0이 없으니 -1~ -8 총 8개 맞나요..??

    • @대멀쌤
      @대멀쌤  3 года назад

      @@vvv-mv1oz 마지막 댓글이 정확합니다.^^

    • @vvv-mv1oz
      @vvv-mv1oz 3 года назад +1

      +0의 1의 보수와 2의 보수는 0000이잖아요
      -0은 양수0의 4비트에서 2진수가 0000이니까 1의 보수는 1111(-0의 1의 보수), 그리고 2의 보수는 1111에 1을 더하니까 0000 맞나요?

    • @대멀쌤
      @대멀쌤  3 года назад

      @@vvv-mv1oz 넵
      맞아요^^

  • @raphaellee7835
    @raphaellee7835 3 года назад +2

    궁금했던 부분까지 완벽하게 설명해주셔서 감사합니다!
    devraphy.tistory.com/282

    • @대멀쌤
      @대멀쌤  3 года назад +1

      오 포스팅 잘봤습니다.감사합니다~
      열공하세요!!

    • @raphaellee7835
      @raphaellee7835 3 года назад +1

      @@대멀쌤 항상 친절하게 답글 남겨주셔서 감사합니다! 앞으로도 채널 애용하겠습니다!

    • @대멀쌤
      @대멀쌤  3 года назад +1

      @@raphaellee7835 열심히 준비하고 계신게 있나봐요. 화이팅! 응원드립니다!!^^

    • @raphaellee7835
      @raphaellee7835 3 года назад +1

      @@대멀쌤 넵 뒤늦게 개발자로 커리어를 전향했습니다. 얼마 전까지 스타트업에서 인턴 개발자로 잠깐 근무를 하고 퇴사 후 신입 개발자로 네카라쿠배에 도전해보려고 준비중입니다! 감사합니다!

    • @대멀쌤
      @대멀쌤  3 года назад +1

      @@raphaellee7835 제가 도움드릴 부분(커리어 설계, 자소서, 면접)은 도와드릴 수 있으니 언제든 도움 요청하세요^^