Subtracting binary numbers
The most common way of subtracting binary numbers is done by first
taking the second value (the number to be divided by) and apply what
is known as two's complement, this is done in two steps:
- complement each digit in turn (change 1
for 0 and 0 for 1).
- add 1 (one) to the result.
note: the first step by itself is
known as one's complement.
By applying these steps you are effectively turning the value into a
negative number, and as when dealing with decimal numbers if you add
a negative number to a positive number then you are effectively
subtracting to the same value.
In other words 25 + (-8) = 17, which is the same as writing 25 - 8 =
17.
An example, let's do the following subtraction 11101011 -
01100110 (23510 - 10210)

note: When subtracting binary values
it is important to maintain the same amount of digits for each
number, even if it means placing zeroes to the left of the value to
make up the digits, for instance in our example we have added a zero
to the left of the value 1100110 to make the amount of
numerals up to 8 (one byte) 01100110.

First we apply two's complement to 01100110
which gives us 10011010.
Now we need to add 11101011 + 10011010, however when you do
the addition you always disregard the last carry, so our example
would be:
which gives us 10000101, now we can convert this value into
decimal, which gives 13310
So the full calculation in decimal is 23510 - 10210
= 13310 (correct !!) |