보수(Complementary number)의 개념 – 보수의 정의

컴퓨터에서 보수는 음수를 표현하는 데 사용한다. 디지털 데이터에서 음수가 생소하게 느껴질 수 있지만, 작은 수에서 큰 수를 빼는 뺄셈 연산의 경우 음수가 필요하다. 이외의 많은 경우에 음수가 사용되며 음수의 표현은 중요하다.

1. 보수의 정의

보수(補數)의 어원적 의미는 ‘상호 보완하는 수’로, 임의의 수를 보완해주는 다른 임의의 수를 말하는 것이다. r진법에서 정의되는 보수(complementary number)는 두 종류다. 첫 번째는 (r-1)의 보수이고 두 번재는 진보수라고 하는 r의 보수다. 따라서 10진수에서는 9의 보수와 10의 보수가 존재하며, 2진수에서는 1의 보수와 2의 보수가 존재한다.

r진법에서 (r-1)의 보수는 A 수에 B 수를 더한 결과값의 각 자리가 (r-1)이 될 때, B를 A에 대한 (r-1)의 보수라고 정의한다. 10진수 (237)10 에 대한 9의 보수를 B라고 할 대 다음의 과정을 살펴보자.

237 + B = 999 → 237 + B = (1000-1) → B = (1000-1) – 237 = 762

다음으로 r진법에서 r의 보수는 A 수에 B 수를 더해서 각 자리마다 자리 올림이 발생하고 해당 자리는 0이 될 때, B를 A에 대한 r의 보수라고 정의한다. 계속해서 10진수 (237)10 에 대한 10의 보수를 B라고 하면 다음의 과정으로 구할 수 있다.

237 + B = 1000 → B = 1000 – 237 = 763

여러 진법에서 보수를 쉽게 구할 수 있도록 보수에 대한 정의를 수식으로 일반화한다.


r진수에서 (r-1)의 보수

r진법에서 임의의 정수 (N)r이 자릿수가 n개로 구성될 때, (r-1)의 보수 정의를 수식으로 표현하면 다음과 같다.

(r^n – 1) – N

10진수에서 9의 보수를 구해보자. 10^n은 1 하나와 뒤이은 n개의 0으로 구성되어 있고, 10^n – 1은 n개의 9로 구성된다. 따라서, 9의 보수는 각 자리의 숫자를 각각의 9에서 뺀 것과 같다.

2진수의 경우, r=2이므로 r-1=1이 된다. 그래서 N에 대한 1의 보수는 (2^n – 1) – N이다. 2진수에서 2^n은 1과 뒤이은 n개의 0으로 구성되어 있으며 2^n – 1은 n개의 1로 구성된다. 결과적으로, 2진수에 대한 1의 보수는 각 자리의 숫자를 각각의 1에서 뺀 것과 같다.


r진수에서 r의 보수

r진법에서 임의의 정수 (N)r이 자릿수가 n개로 구성될 때, r의 보수 정의를 수식으로 표현하면 다음과 같다. 여기서, N=0일 경우 0으로 정의된다.

r^n – N

r의 보수는 다음의 관계에 의해서 (r-1) 보수로부터 쉽게 얻을 수 있다.

r^n – N = [(r^n – 1) – N] +1

그래서 r의 보수는 (r-1)의 보수에 1을 더하면 된다.

Advertisements

글쓴이: Hong Jin-Seob

Developer

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

w

%s에 연결하는 중