[지식] 1의 보수, 2의 보수. 음수계산!

2015. 2. 11. 21:04창고

728x90
728x90

1. 보수의 필요성

  • 컴퓨터에서 음수를 표현하기 위해 사용

2. 보수?

  • 기수 n에 대한 a의 보수란 n이 되기위해 더해야 하는 b.
  • n = a + b가 성립한다.
  • 기수 50에 대한 20의 보수는 30.

3. 컴퓨터에서 음수 표현

  • 비트 반전.
  • 여기에 1을 더한다.

예시

  • Byte 단위로 0000 1010를 기준을 잡아보자. (2진수로 10)
  • MAX byte를 넘어가는 수 or 0을 기수로 1 0000 0000라고 했을 때
  • 0000 1010의 보수는 1 0000 0000 - 0000 1010 이다.
  • 계산해보면 1111 0101이 되는데 이것이 비트 반전과 동일하다. 이것을 컴퓨터 공학에서 1의 보수라 표현한다.
  • 여기에 1을 더하면 1111 0110이 된다. 이것을 컴퓨터 공학에서 "0000 1010에 대한 2의 보수"라 표현한다.

적용

  • 16 - 10을 계산한다고 하자.
  • 16은 이진수로 표현하면 0001 0000이고
  • -10은 위에서 구한 2의 보수 1111 0110이다.
  • 두 값을 더 하면 0001 0000 + 1111 0110 = 1 0000 0110이 되고 앞에 1은 버려진다.
  • 0000 0110이 되어 6의 값을 얻는다.

728x90
반응형

'창고' 카테고리의 다른 글