Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

Complements

Subtractionusing addition
 Conventional addition (using carry) is easily
 implemented in digital computers.


However; subtraction by borrowing is difficult and
inefficient for digital computers.
Much more efficient to implement subtraction using

ADDITION OF the COMPLEMENTS of numbers.
Complements of numbers
(r-1 )’s Complement
•Given a number N in base r having n digits,
•the (r- 1)’s complement of N is defined as

(rn - 1) - N

For decimal numbers the


base or r = 10 and r- 1= 9, 9 9 9 9 9

so the 9’s complement of N is


(10n-1)-N - Digit
n
Digit
n-1
Next
digit
Next
digit
First
digit

• 99999……. - N
9’s complement Examples
9 9 9 9 9 9

2- Find the9’s complementof 546700 and12389 - 5 4 6 7 0 0

4 5 3 2 9 9
The 9’s complementof 546700 is 999999 - 546700=
453299
9 9 9 9 9
and the9’s complementof 12389 is
99999-12389= 87610. - 1 2 3 8 9

8 7 6 1 0
l’scomplement
 For binarynumbers,r = 2andr — 1=
1,
 r-1’s complementisthel’scomplement.
 Thel’scomplementofN is(2n - 1) -N.

Bit n-1 Bit n-2 ……. Bit 1 Bit 0

1 1 1 1 1

- Digit
n
Digit
n-1
Next
digit
Next
digit
First
digit
l’s complement
• Find r-1 complement for binary number N with four binary
digits.
• r-1 complement for binary means 2-1 complement or 1’s
complement.
• n = 4, we have 24 = (10000)2 and 24 - 1 = (1111)2.

• The l’s complement of N is (24 - 1) - N. = (1111) - N


l’scomplement

1 1 1 1 1 1 1

The complement 1’s of


- 1 0 1 1 0 0 1

1011001 is 0100110 0 1 0 0 1 1 0

1 1 1 1 1 1 1

The 1’s complement of


- 0 0 0 1 1 1 1

0001111 is 1110000 1 1 1 0 0 0 0
r’s Complement
•Given a number N in base r having n digits,
•the r’s complement of N is defined as

rn - N.

For decimal numbers the


base or r = 10,
1 0 0 0 0 0
•so the 10’s complement of N
is 10n-N. - Digit
n
Digit
n-1
Next
digit
Next
digit
First
digit

• 100000……. - N
10’s complement Examples
Find the 10’s complement of
546700 and 12389 1 0 0 0 0 0 0

The 10’s complement of 546700 - 5 4 6 7 0 0

is 1000000 - 546700= 453300 4 5 3 3 0 0

and the 10’s complement of


12389 is 1 0 0 0 0 0

100000 - 12389 = 87611. - 1 2 3 8 9

Notice that it is the same as 9’s 8 7 6 1 1


complement + 1.
2’s complement

For binary numbers, r = 2,


r’s complement is the 2’s complement.
The 2’s complement of N is 2n - N.

1 0 0 0 0 0

- Digit
n
Digit
n-1
Next
digit
Next
digit
First
digit
2’s complementExample
1 0 0 0 0 0 0 0

The 2’s complement of


1011001 is 0100111
- 1 0 1 1 0 0 1

0 1 0 0 1 1 1

1 0 0 0 0 0 0 0

The 2’s complement of


0001111 is 1110001
- 0 0 0 1 1 1 1

1 1 1 0 0 0 1
FastMethodsfor2’s Complement

Method 1:
The 2’s complement of binary number is obtained by adding 1 to the
l’s complement value.
Example:
1’s complement of 101100 is 010011 (invert the 0’s and 1’s)
2’s complement of 101100 is 010011 + 1 = 010100
FastMethodsfor2’s Complement
Method 2:
The 2’s complement can be formed by leaving all least significant 0’s
and the first 1 unchanged, and then replacing l’s by 0’s and 0’s by l’s
in all other higher significant bits.

Example:
The 2’s complement of 1101100 is
0010100
Leave the two low-order 0’s and the first 1 unchanged, and then
replacing 1’s by 0’s and 0’s by 1’s in the four most significant bits.
Examples
– Finding the 2’s complement of(01100101)2
• Method 1 – Simply complement each bit and then add
1 to the result.
(01100101)2
[N] = 2’s complement = 1’s complement (10011010)2 +1
=(10011011)2
• Method 2 – Starting with the least significant bit, copy
all the bits up to and including the first 1 bit and then
complement the remaining bits.
N =01100101
[N] =10011011
Subtractionof Unsigned Numbersusing
r’s complement
Subtract Nfrom M: M– N
 r’scomplement N (rn – N)

addMto( rn– N) : Sum= M+ ( rn– N)


 take r’s complement (If M ≥ N, the negative sign


will produce an end carry rn we need to take the
r’s complement again.)
Subtractionof Unsigned
Numbers using r’s complement

• (1) if M ≥ N, ignore the carry without taking


complement of sum.
• (2) if M < N, take the r’s complement of sum and place
negative sign in front of sum. The answer is negative.
Example 1 (Decimal unsigned numbers),

perform the subtraction 72532 - 13250 = 59282.

M > N : “Case 1” “Do not take complement of sum


and discard carry”
The 10’s complement of 13250 is 86750.
Therefore:
M= 72532
10’s complement of N =+86750
Sum= 159282
Discard end carry 105= - 100000
Answer = 59282 no complement
Example 2;
Now consider an example with M <N.
The subtraction 13250 - 72532 produces negative 59282. Using
the procedure with complements, we have

M = 13250
10’s complement of N = +27468
Sum = 40718

Take 10’s complement of Sum = 100000


-40718
The number is : 59282
Place negative sign in front of the number: -59282

You might also like