5. Twos complement
Adding a positive number and a negative number in binary can be awkward (even for a CPU), but using the twos complement method makes it quite straightforward.
Example
Representing -5 in an 8 bit 2's complement format, carry out the following steps
1. Represent the number as if it was a positive 8 bit number, so this is 00000101
2. Keep the rightmost 1 but then flip all the bits to the left of it like this
00000101 keep the rightmost 1 and flip the rest 11111011
So 11111011 is -5 in twos complement format
To show how you can add 7 and -5 together the answer should be 2. So let's do it. +7 is 00000111
00000111
11111011
----------
100000010
The pink 1 is in the 9th position, and so in an 8 bit register it is simply discarded. So you end up with 00000010 which is 2 denary.
Example 2
Add -5 and -6 together using two's complement. The answer should be -11.
1. Convert -6 into 2's complement
+6 = 00000110 hold on to the rightmost 1 and flip the rest -6 = 11111010
2. As shown above -5 in 2's complement is 11111011
3 Add the two numbers together
11111010
11111011
----------
111110101
Is this the right answer? Lets work out -11 in twos complement
+11 = 00001011 hold on to the rightmost 1 and flip the rest -11 = 11110101
Which is the right answer.
Example 3
What does a twos complement 1001 represent as a denary number?
1. Work out what the positive number is by holding on to the rightmost 1 then flipping the bits to the left of it, so it becomes 0111 which is 7. So twos complement 1001 is -7.
Copyright © www.teach-ict.com