S.N0. | Decimal | Sign Magnitude | One Complement | Two Complement |
0 | 0 | 0000 | 0000 | 0000 |
1 | 1 | 0001 | 0001 | 0001 |
2 | 2 | 0010 | 0010 | 0010 |
3 | 3 | 0011 | 0011 | 0011 |
4 | 4 | 0100 | 0100 | 0100 |
5 | 5 | 0101 | 0101 | 0101 |
6 | 6 | 0110 | 0110 | 0110 |
7 | 7 | 0111 | 0111 | 0111 |
8 | -0 | 1000 | 1111 | =(0000)’+1 =1111 + 1 =0000(discard MSB) |
9 | -1 | 1001 | 1110 | =(0001)’ + 1 =(1110) + 1 =1111 |
10 | -2 | 1010 | 1101 | =(0010)’ + 1 =(1101) + 1 =1110 |
11 | -3 | 1011 | 1100 | =(0011)’ + 1 =(1100) + 1 =1101 |
12 | -4 | 1100 | 1011 | =(0100)’ + 1 =(1011) + 1 =1100 |
13 | -5 | 1101 | 1010 | =(0101)’ + 1 =(1010) + 1 =1011 |
14 | -6 | 1110 | 1001 | =(0110)’ + 1 =(1001) + 1 =1010 |
15 | -7 | 1111 | 1000 | =(0111)’ + 1 =(1000) + 1 =1001 |
16 | -8 | (not allowed in 4-bit) | (not allowed in 4-bit) | =(1000)’+1 =(0111)+1 =1000 |
Subtraction using 2’s complement method is performed in microcontroller processors.
To perform subtraction using 2’s complement method we need to do the following steps.
step 1: Find the 2’s complement of subtrahend number.
step 2: Add the 2’s complement of subtrahend to the minuend.
step 3: Check the result for the carry.
If there is carry generated.
Then the result obtained is positive. And there is no further processing needed.
If there is no carry generated.
Then the result obtained is negative. And you have to do 2’s complement of the result obtained.
NOTE:
When doing subtraction using 2’s complement. Pay close attention to the sign of the subtrahend and minuend and the result.
EXAMPLE:
Ques.) 5 – 2 = ?
Ans.) 5 – 2 = 3 (in decimal)
using 2’s complement method
(-2) representation in two’s complement form = 1110
(5) in 2’s complement number = 0101
0101
+ 1110
——-
1 0011 = 3 (by discarding the MSB 1, Here MSB is the carry)
There is a carry generated. So, the number is positive and no further processing is required.
We can discard the carry.
Ques.) -8 – 2 = ? in a 4-bit system
Ans.) -8 – 2 = -10 (in decimal)
Remeberwe have only 4 bit to store the number.
using 2’s complement method
(-2) representation in two’s complement form = 1110
(-8) in 2’s complement number = 1000
1000
+ 1110
——-
1 0110 = 6 (by discarding the MSB 1, Here MSB is the carry)
There is a carry generated. So, the number is positive and no further processing is required.
But, the result obtained is wrong. Because if we add two numbers of the same sign result must be of the same sign. This condition creates an overflow.
Overflow in 2’complement subtraction
When two numbers of the same sign are added together and they produce a result with an opposite sign; An overflow has occurred and the result is not valid.
Leave a Reply