Given two numbers a and b. The task is to subtract b from a by using 2’s Complement method.
Note: Negative numbers represented as 2’s Complement of Positive Numbers.
For example, -5 can be represented in binary form as 2’s Compliment of 5. Look at the image below:
Input : a = 2, b = 3 Output : -1 Input : a = 9, b = 7 Output : 2
To subtract b from a. Write the expression (a-b) as:
(a - b) = a + (-b)
Now (-b) can be written as (2’s complement of b). So the above expression can be now written as:
(a - b) = a + (2's complement of b)
So, the problem now reduces to “Add a to the 2’s complement of b“. Below image illustrates the above method of subtraction for the first example where a = 2 and b = 3.
Below is the implementation of the above method:
Method 2: Basic Approach or Brute Force Approach
Subtraction of two Binary Numbers, subtract two binary numbers using 2’s Compliment method.
Step-1: Find the 2’s complement of the subtrahend.
Step-2: Add first number and 2’s complement of the subtrahend.
Step-3: If the carry is produced, discard the carry. If there is no carry then take the 2’s complement of the result.
Below is the implementation of the above approach.
- What’s difference between 1's Complement and 2's Complement?
- Subtraction of two large numbers using 9's compliment
- Subtraction of two large numbers using 10's compliment
- Check if bits in range L to R of two numbers are complement of each other or not
- Find relative complement of two sorted arrays
- Why are negative numbers stored as 2's complement?
- Check if one of the numbers is one's complement of the other
- 1's and 2's complement of a Binary Number
- Efficient method for 2's complement of a binary string
- Check if binary representation of a given number and its complement are anagram
- 9's complement of a decimal number
- 8085 program to find 1's and 2's complement of 8-bit number
- 8085 program to find 1’s and 2’s complement of 16-bit number
- 8085 program to find 2's complement of the contents of Flag Register
- Previous number same as 1's complement
- Interface 8255 with 8085 microprocessor for 1’s and 2’s complement of a number
- 10's Complement of a decimal number
- Complement of a number with any base b
- Find One's Complement of an Integer
- Program for subtraction of matrices
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.