어떤 수의 n의 보수란, 더했을 때 n이 되는 그 수.
ex. 7에 대해 '10의 보수'는 3.
디지털 컴퓨터에서
뺄셈,subtraction 연산을 간편하게 함
(사람이 손으로 뺄셈을 할 땐 빌림
borrow개념을 쓰지만 기계가 이렇게 하는 방식은 비효율적이라고....)
기수,radix (see
기수법,numeral_system)
의 체계에 대해 두 가지 보수의 형태가 있음
- 의 보수 (radix complement)
- 의 보수 (diminished radix complement)
DELME ///from wpko 보수
보수는 보통 그냥수가아니라
정수,integer에만... (다른 경우가 없지아마??)
일반적으로, n진법으로 표시된 정수에,
(두가지만? 다른게 있나없나? 있다면 거의 언급 안되는 이유?)
ex. 10진수 체계에서
6에 대한 10의 보수: 4
6에 대한 9의 보수: 3
이렇게 9의 보수에 하나를 더하면 10의 보수가 됨이, 왜 그런지 명백하다.
보수를 구할 때는 자리수가 중요하다.
이진수에서 1의 보수는 bitwise complement와 완전 동일? chk 암튼 자리수에 맞춰 비트 반전만 하면 ok.
이진수,binary_number에서
0의 보수는 1
1의 보수는 0
정수 부분에 n개의 숫자를 가지는 기수 r에서의 숫자 N이 주어졌을 때,
N에 대한 (r−1)의 보수 := (rn−1)−N
10진수에서 9의 보수 = (10n − 1) − N
10진수에서 10의 보수 = (10n − N) = (9의 보수) + 1
ex.
10진수에서
546700에 대한 9의 보수는 999999-546700=453299
32의 9의 보수는 99−32=67
2진수에서
tbw
2. Diminished Radix Complement ¶
Given a number N in base r having n digits
- (r−1)'s complement of N : (rn−1)−N
3. 1의 보수, 2의 보수 ¶
컴퓨터 시스템에서
부호,sign를 가진 정수를 표현하기 위해 이 방법이 쓰임. (2의 보수가 가장 많이 쓰이며 여기에 속하지 않는 sign-and-magnitude 방법도 있음.) 부호 페이지에 Forouzan 부록 예제로 참조.
5.1. 'complement' ¶
MERGE: RR: complement (refs.) and RR: 컴플리먼트,complement (none yet)