Binary Subtraction Calculator
This binary subtraction calculator is a great tool to help you understand how to subtract binary numbers. Here you can find descriptions of the two primary methods that deal with the subtraction of binary numbers, namely the Borrow Method, and the Complement Method. There is also a short note about the different representations of signed and unsigned binary numbers at the end.
Subtraction of binary numbers
The subtraction of binary numbers is essentially the same as for decimal, hexadecimal, or any other system of numbers.
Just to clarify, binary numbers are values containing only two types of digits, 0 or 1. Every digit refers to the consecutive powers of 2 and whether it should be multiplied by 0 or 1. As an example, 13 in decimal notation is equivalent to 1101 in binary notation, because 13 = 8 + 4 + 1, or 13 = 1×2³ + 1×2² + 0×2¹ + 1×2⁰ using scientific notation.
So, how to subtract binary numbers, e.g., 1101 - 110? We can always convert these values to decimals, classically subtract them, and then transform them once again into the binary form:
1101₂ - 110₂ = 13₁₀ - 6₁₀ = 7₁₀ = 111₂
Here ₂ denotes a binary number, and ₁₀ a decimal number. As long as the number of digits is relatively small, we can do it by hand. For long numbers, it gets quite tricky. And what if we wanted to subtract a larger number from a smaller one? Here is where the binary subtraction calculator comes in handy! Let's jump to the next section to learn about the different methods of solving these problems.
Methods of subtraction of binary numbers
In this part, we will describe two methods of dealing with the subtraction of binary numbers, the Borrow Method and the Complement Method. There are several other tricks as well, but these two are the most prevalent and help you understand the problem better.
Borrow Method – all you have to do is align the numbers as you would do with regular decimal subtraction. The procedure is almost the same! The only difference is that you operate with only two digits, not ten. You need to subtract digits in the same column, following these rules:
1 - 0 = 1;
1 - 1 = 0;
0 - 0 = 0; and
0 - 1 = 1, which actually comes from
10 - 1 = 1, as you borrow
1from the closest digit to the left, and after all that, the
1you borrowed becomes
Complement Method – the process is divided into a few steps:
- Align the numbers as would normally;
- Fill the second number with leading
0's, so that both values have the same number of digits;
- Replace the second number by its complement;
- Add these two binary numbers;
- Remove the leading
1from the result, as there will be one digit more than we need; and
- That's it! The remaining part is the final result.
If you want to see a step-by-step solution for your problem using the Complement Method, select "Yes" at the bottom of our binary subtraction calculator.
By the way, did you know that the concept of binary subtraction is quite common in several parts of a developers' toolkit? For example, the chmod command is one of them.
How to use the binary subtraction calculator?
Let's see how to subtract two binary numbers, e.g., 110 0101 - 1000 1100. It's quite tricky because the second number has more digits than the first one, so we are about to subtract a larger number from a smaller one.
There is a clever way to work around this task. We can use use the identity a - b = -(b - a), so we're going to reverse the order of subtraction and add a minus sign at the end. In other words, we estimate the absolute value and eventually attach a minus sign. Let's use the complement method:
By reversing the order, we have 1000 1100 - 110 0101.
Fill the second value with one leading zero, 1000 1100 - 0110 0101.
Find the complement of the second number – switch digits (0→1, 1→0) and add 1, 0110 0101 → 1001 1011.
Add the first number and the complement of the second one together, 1000 1100 + 1001 1011 = 1 0010 0111.
Remove the leading 1 and any adjacent 0's, 1 0010 0111 → 10 0111.
Remember to add a minus sign, so the outcome becomes -10 0111.
The final result of the subtraction of these binary numbers is 110 0101 - 1000 1100 = -10 0111.
We can also convert the values to decimals to confirm the computations: 110 0101₂ - 1000 1100₂ = 101₁₀ - 140₁₀ = -39₁₀ = -10 0111₂. Wonderful!
Before making any computation, there is one crucial thing we have to take into account – the representation of numbers in binary code, especially the sign. We'll explain that in the next section.
How do we represent sign in binary numbers?
There are at least three methods:
Use the minus sign (
-) like we usually do with decimal numbers. In the 8-bit code,
5in binary is
0000 0101, while
Use the first digit as the sign, typically 0 for positive and 1 for negative. Now
Represent a negative number as the complement of the positive one, so
1111 1011. The first digit still indicates the sign of a number.
Our binary subtraction calculator uses the minus sign, i.e., the 1st method. Whenever you copy a value to our tool, make sure you input the number using the appropriate representation, e.g., if it has the first digit representing the sign, substitute
-, or leave
0 as it is.
How do I subtract binary numbers?
There are at least three methods you can use to subtract binary numbers:
- Borrow method – align the numbers and subtract by borrowing as always, remembering that
0 - 1resolves to
- Complement method – the idea is to replace the subtracted number with its complement and add the two numbers. Remember to omit the leading
1from the result!
- Conversion method – convert your binary numbers to decimals, subtract, and then transform them back to binary. Effective for small numbers.
How do I find the complement of a binary number?
To determine the complement of a binary number in the 8-bit system, follow these steps:
- Make sure your binary has 8 digits. If it has fewer, add some leading zeros.
- Replace every digit with the opposite one:
- Increase the number by
1. That's it!
What is the result of binary subtraction 101 - 11?
101 - 11 = 10. Indeed, using the borrow method, we see the last digit of the result must be
1 - 1 = 0. Then to perform
0 - 1 we need to borrow
0 - 1 = 10 - 1 = 1. And that's it: since we've borrowed, no digits are left. Hence, the result is