본문 바로가기

Et Cetera

[전자계산기구조] 보수(Complenetary Number) 표현

반응형

보수(Complementary Number)는 상호 보완하는 수로, 임의의 수를 보완해 주는 다른 임의의 수이다.

보통 컴퓨터에서는 음수 표현을 할 때 사용되며, 이때 2의 보수 표현 방법이 주로 사용된다.

r 진법에 대해 (r-1)의 보수, r의 보수(진보수)가 정의된다.

(10진수 - 9의 보수, 10의 보수 / 2진수 - 1의 보수, 2의 보수)

1. (r-1)의 보수

임의의 수 A와 B가 있다.

이때 (A+B) 결괏값의 각 자리가 (r-1)이 될 때, B를 A에 대한 (r-1)의 보수라고 정의한다.

r 진법에서 임의의 정수 N의 자릿수가 n 개로 구성될 때, (r-1)의 보수는 아래와 같이 표현할 수 있다.

 

 

A + B = 999   // 10진수 A(237)에 대한 9의 보수

237 + B = 999
B = 999 - 237
  = 762       // 237에 대한 9의 보수(B) = 762

 

2. r의 보수

임의의 수 A와 C가 있다.

이때 (A+C) 결괏값의 각 자리에는 자리 올림이 발생하여, 해당 자리가 0이 될 때 C를 A에 대한 r의 보수라고 정의한다.

r 진법에서 임의의 정수 N의 자릿수가 n 개로 구성될 때, r의 보수는 아래와 같이 표현되며 (r-1)의 보수에 '+1'을 하면 된다.

 

 

A + C = 1000   // 10진수 A(237)에 대한 10의 보수

237 + C = 1000
C = 1000 - 237
  = 763        // 237에 대한 10의 보수(C) = 763

2진수를 표현할 때 부호화 - 크기 표현, 1의 보수 표현, 2의 보수 표현을 이용하여 2진수의 양수, 음수를 표현한다.

1. 부호화 - 크기 표현

최상위 비트는 부호 비트(Signed bit)로 나머지 비트는 이진수 값을 표현하는 것으로, 가장 간단한 음수 표현 방법이다. 부호 비트와 크기 부분을 별도로 처리하여야 하며, 0(zero) 표현 방법이 두 개 존재한다.

 

(00000000) = +0
(10000000) = -0

// 0을 표현하는데 2가지의 방법을 사용하기 때문에, 표현 방법이 낭비되어 표현할 수 있는 수의 범위가 적다.

 

2. 1의 보수 표현

모든 비트를 1로 만든 이진수에서 변환하고자 하는 이진수를 빼면 되는데, 0은 1로, 1은 0으로 모든 비트를 반전시켜 표현한다고 볼 수 있다.

 

(00000000) = +0
(11111111) = -0

// 0을 표현하는데 2가지의 방법을 사용하기 때문에, 표현 방법이 낭비되어 표현할 수 있는 수의 범위가 적다.

 

3. 2의 보수 표현

1의 보수 후, 결괏값에 '+1'을 하여 표현한다.

*2의 보수 표현은 0의 값이 하나로 표현되기 때문에 음수 표현을 하나 더 할 수 있다. 따라서 부호화 - 크기 표현과 1의 보수 표현에 비해 표현 범위가 크기 때문에 컴퓨터 시스템에서 실제로 사용하는 형식이다.

반응형