Categories
Number System

Subtraction using compliments

Subtraction method mentioned earlier looks good when we do it on paper and pencil but to implement a subtraction method on a digital platform then subtraction using compliments is better and efficient.

r’s compliment:

If we are given numbers M & N with base r, then we can to have to find M – N then we can apply the following method:

If M and N both are positives then

  1. Take r’s compliment of subtrahend N
  2. Add the compliment to minuend M
  3. If we get a carry then discard it otherwise take r’s compliment of the result we get in step 2 and place –ve sign in front of this.

If M is negative and N is positive then i.e. – m – n where m & n are magnitudes of M&N

  1. Take r’s compliment of subtrahend N
  2. Add the compliment to minuend M
  3. If we get no carry then discard it otherwise if carry is 1 then, take r’s compliment of the result we get in step 2 and place –ve sign in front of this.

Eg. 7654310 – 6654310

 M=76543

N=66543

10’s compliment of N=33457

As both we ignore carry and answer we get is 0010 which is 2 (not -14) hence it is a wrong answer. It may seem very surprising as we have followed the proper procedure and yet not able to get the answer. Why???????????

Because we have to apply the 2nd rule as M is negative and carry is 1 so  we take 2’s compliment of the answer and final answer we get is – (2’s compliment of 00102) = – 11102 = – 1410

Eg.  – 910 – 1010

Here we see – 1010 can be represented in 2’s compliment in 5 bits so we use 5 bits for both 9= 01001              10=01010

2’s compliment of 9 to represent -9 = 101112

2’s compliment of 10 to represent -10 = 101102

As there is a carry so we’ll not ignore it as M is negative and we’ll calculate 2’s compliment of answer to get the actual answer

 Answer= – (2’s compliment of 01101) = – 10011 = – 1910

And we find the correct answer

Eg.  2610 – 610

26 = 11010

6   = 00110

2’s compliment of 6 = 11010

We ignore the carry as M is positive and answer is 10100

Final answer = 10100 = 20 CORRECT

Categories
Number System

ADDITION

Decimal system: Although all of us are doing addition in decimal system since years and this may look a bit odd to study this again but I’ll still emphasize to study it further. Let us analyze the addition for decimal system.  For addition we firstly add least significant digits and keep the least significant digit of the result we get, in the least significant position of the sum and rest of the part is taken as carry and added to the next digits as:

But let me put it in another way which is actually a generalized method for addition. We first add least significant digits and if result we get is equal to or more that ‘10’ (base) then we’ll subtract ‘10’ (b) from the result as many times we can and remainder is then saved in the sum register while the number of times we can subtract is taken as carry.

Now we’ll take this method and apply it to any system for addition

Binary system:
There are 4 cases of addition of bit by bit:
                Sum       carry
0 + 0 =     0                0
1 + 0 =      1               0
0 + 1 =      1               0
1 + 1 =      1             1