Subtracting binary numbers is a bit different than subtracting decimal numbers, but by following the steps below, it can be just as easy or even easier.

Method 1
Method 1 of 2:

Using the Borrow Method

  1. 1
    Align the numbers as an ordinary subtraction problem. Write the larger number above the smaller number. If the smaller number has fewer digits, line them up on the right, as you would in a decimal (base ten) subtraction problem.[1]
  2. 2
    Try some basic problems. Some binary subtraction problems are no different than base ten subtraction. Line up the columns and, starting from the right, find the result for each digit. Here are a few easy examples:[2]
    • 1 - 0 = 1
    • 11 - 10 = 1
    • 1011 - 10 = 1001
    Advertisement
  3. 3
    Set up a more complicated problem. You only need to know one special "rule" to complete any binary subtraction problem. This rule tells you how to "borrow" from the digit to the left so you can solve a "0 - 1" column.[3] For the rest of this section, we'll set up a couple example problems and solve them using the borrow method. Here's the first:
    • 110 - 101 = ?
  4. 4
    "Borrow" from the second digit. Starting from the right column (the ones place), we need to solve the problem "0 - 1." In order to do this, we need to "borrow" from the digit to the left (the twos place). This has two steps to it:
    • First, cross out the 1 and replace it with a 0, to get this: 1010 - 101 = ?
    • You've subtracted 10 from the first number, so you can add this "borrowed" number to the ones place: 101100 - 101 = ?
  5. 5
    Solve the rightmost column. Now each column can be solved as usual. Here's how to solve the rightmost column (the ones place) in this problem:[4]
    • 101100 - 101 = ?
    • The rightmost column is now: 10 - 1 = 1. If you can't figure out how to reach this answer, here's how to convert the problem back to decimal:
    • 102 = (1 x 2) + (0 x 1) = 210. (The sub numbers indicate which base the number is written in.)
    • 12 = (1x1) = 110.
    • Therefore, in decimal form this problem is 2 - 1 = ?, so the answer is 1.
  6. 6
    Finish the problem. The rest of the problem can now be solved easily. Solve it column by column, moving from right to left:
    • 101100 - 101 = __1 = _01 = 001 = 1.
  7. 7
    Try a difficult problem. Borrowing comes up a lot in binary multiplication, and sometimes you'll need to borrow multiple times just to solve one column. For example, here's how to solve 11000 - 111. We can't "borrow" from a 0, so we need to keep borrowing from the left until we turn it into something we can borrow from:[5]
    • 10110000 - 111 =
    • 10111001000 - 111 = (remember, 10 - 1 = 1)
    • 10111001100100 - 111 =
    • Here it is written more tidily: 1011100 - 111 =
    • Solve column by column: _ _ _ _ 1 = _ _ _ 0 1 = _ _ 0 0 1 = _ 0 0 0 1 = 1 0 0 0 1
  8. 8
    Check your answer. There are three ways to check your answer.[6] One quick way is to find a binary calculator online and plug in the problem. The other two methods are still useful, since you may need to check by hand on a test, and they will make you more familiar and comfortable with binary numbers:
    • Add in binary to check your work. Add the answer together with the smaller number, and you should get the larger number. Using our last example (11000 - 111 = 10001), we get 10001 + 111 = 11000, which is the larger number we started with.
    • Alternatively, convert each number from binary to decimal and see whether it is true. Using the same example (11000 - 111 = 10001), we can convert each number into decimal and get 24 - 7 = 17. This is a true statement, so our solution is correct.
  9. Advertisement
Method 2
Method 2 of 2:

Using the Complement Method

  1. 1
    Align the two numbers as you would in decimal subtraction. This method is used by computers to subtract binary numbers, since it uses a more efficient program. For a human used to ordinary decimal subtraction problems, this is probably the more difficult method to use, but could be useful to understand as a programmer.[7]
    • We'll use the example 101 - 11 = ?
  2. 2
    Append leading zeros if necessary to represent both numbers with the same number of digits. For example, convert 101-11 to 101-011 so that both have three digits.[8]
    • 101 - 011 = ?
  3. 3
    Switch the digits in the second term. Change all the 0s to 1s and all the 1s to 0s in the second term. In our example, the second term becomes: 011 → 100.[9]
    • What we're actually doing is "taking the one's complement," or subtracting each digit in the term from one. The "switching" shortcut works in binary, since the only two possibilities result in switching the term: 1 - 0 = 1 and 1 - 1 = 0.
  4. 4
    Add one to the new second term. Once you have the "reversed" term, add one to the result. In our example, we get 100 + 1 = 101.
  5. 5
    Solve the new problem as a binary addition problem. Use binary adding techniques to add the new term to the original term, instead of subtracting:[10]
  6. 6
    Discard the first digit. This method should always end up with an answer one digit too long. For example, our example problem involved three-digit numbers (101 + 101), but we ended up with a four digit solution (1010). Simply cross out the first digit, and you'll have the answer to the original subtraction problem:[11]
    • 1010 = 10
    • Therefore, 101 - 011 = 10
    • If you don't have an extra digit, you tried to subtract a larger number from a smaller one. See the tips section for how to solve problems like that, and start again.
  7. 7
    Try this method in base ten. This method is called the "two's complement" method, since the "reverse the digits" steps results in the "one's complement," and then the number 1 is added. If you'd like a more intuitive understanding of why this method works, try it in base ten:[12]
    • 56 - 17
    • Since we're using base ten, we'll take the "nine's complement" of the second term (17) by subtracting each digit from nine. 99 - 17 = 82.
    • Change this into an addition problem: 56 + 82. If you compare this to the original problem (56 - 17), you can see that we've added 99.
    • 56+82=138. But since our changes added 99 to the original problem, we'll need to subtract 99 from the answer. Again, we'll use a shortcut, just like in the binary method above: add 1 to the total number, then delete the digit on the left (which represents 100):
    • 138 + 1 = 139 → 139 → 39 This is finally the solution to our original problem, 56-17.
  8. Advertisement

Community Q&A

  • Question
    How can I make it easier to remember how to subtract binary numbers on an exam?
    Community Answer
    Community Answer
    This isn't a memorization technique, but you could try doing binary subtraction, then afterwards check whether you have got the correct answer by converting the numbers to decimal and then subtracting normally. This might help solidify your understanding and confidence in this topic.
  • Question
    How do I calculate binary numbers?
    Asad Naeem
    Asad Naeem
    Community Answer
    You can calculate by dividing with 2 and storing the remainder. For example: 12 dec binary = 12/2 = 6 (rem) 0. Now, 6/2 = 3 (rem) 0. Similarly, 3/2 = 1 (rem) 1, so binary will be 1100.
  • Question
    Is 99 binary or decimal?
    WaleedAlbaker
    WaleedAlbaker
    Community Answer
    It's a decimal number because 9 is included with the decimal digits which are (0,1,2,3,4,5,6,7,8,9) and you can not find the number 9 in binary because it contains only (0,1) digits.
Advertisement

About This Article

wikiHow is a “wiki,” similar to Wikipedia, which means that many of our articles are co-written by multiple authors. To create this article, 51 people, some anonymous, worked to edit and improve it over time. This article has been viewed 1,159,282 times.
116 votes - 70%
Co-authors: 51
Updated: September 6, 2022
Views: 1,159,282
Article SummaryX

To subtract binary numbers, simply align the 2 numbers and subtract as you would a regular problem. To subtract with the complement method, align the numbers and, if necessary, add zeros to the front of the second number to give it has an equal amount of digits. Change all the digits in the second term to their opposites, making the 0s into 1s and the 1s into 0s. Add 1 to the second term and add the 2 numbers as a binary addition problem. Then, remove the first digit to get the answer to your subtraction problem. For more help and examples, read on!

Did this summary help you?
Advertisement