answersLogoWhite

0

This is done by taking the "complement" of the number you're subtracting, and adding it to the number you're subtracting it from. Then remove the last digit on the left, and add it to the rightmost digit.

This is not limited to binary, and will work in any other base as well. To understand how to do it, you first need to understand what the complement of a number is. You can think of it as a number that, when added to the original, will make each digit equal to the highest valued digit in the base you're using.

Sound confusing? It's actually quite simple. Consider the decimal number 1234567890. The highest valued digit in decimal is 9, so the complement of that number would be 8765432109. If you add those two numbers together, you'll see that they add up to 9999999999.

With that in mind, here is an example of how to use this technique in subtracting decimal numbers. Let's say we want to subtract 123 from 432.

432 - 123

first, take the complement of 123. That would be 876.
Now add that complement to the original number:
432 + 876 = 1308

now take the leftmost digit of the result (1) and add it to the rest of the number:
308 + 1 = 309

And there you have the result. 432 - 123 = 309. As stated though, this works in any base, not just decimal. If you want to do it in binary, it works exactly the same way. For example, let's subtract 10100011 from 11011010.

In the case of binary, the complement is very easy to take. You can simply inverse the digits, switching around the ones and zeros. So the complement of 10100011 is 01011100. Just add that complement to the number from which you're subtracting:

11011010
+01011100
=100110110

Then take the leftmost digit and add it to the number;

00110110 + 1 = 00110111

And there you have it. To verify it's correct, let's convert it to decimal:
11011010 = 218
10100011 = 163
00110111 = 55

218 - 163 is indeed equal to 55, so we know that's correct.

There are a couple of small caveats in using this technique:

1) You must subtract the smaller number from the larger number. If the number being subtracted is the bigger of the two, then simply subtract the smaller one from the bigger one and negate it.

2) The numbers must use the same number of digits. That's not as much of a limit as it sounds. If the number you're subtracting has fewer digits, simply pad it with zeros on the left. For example:

1234 - 234 = 1234 - 0234
now take the complement of 0234 and add it to 1234:

1234 + 9765 = 10999
and again, take the left digit and add it to the rest of the number:

0999 + 1 = 1000

The same holds true with non-integers:

2.34 - 1.2 = 2.34 - 1.20
2.34 + 8.79 = 11.13
1.13 + 0.01 = 1.14

User Avatar

Wiki User

15y ago

Still curious? Ask our experts.

Chat with our AI personalities

SteveSteve
Knowledge is a journey, you know? We'll get there.
Chat with Steve
ReneRene
Change my mind. I dare you.
Chat with Rene
BlakeBlake
As your older brother, I've been where you are—maybe not exactly, but close enough.
Chat with Blake

Add your answer:

Earn +20 pts
Q: Describe how binary subtraction is done using addition?
Write your answer...
Submit
Still have questions?
magnify glass
imp