The Program in C++ to find Two’s complement of a binary number is given below:
#include <iostream>
using namespace std;
string ones_complement(string binary) {
for (int i = 0; i < binary.length(); i++) {
if (binary[i] == '1') {
binary[i] = '0';
} else {
binary[i] = '1';
}
}
return binary;
}
string add_one(string binary) {
int carry = 1;
for (int i = binary.length() - 1; i >= 0; i--) {
if (binary[i] == '0' && carry == 1) {
binary[i] = '1';
carry = 0;
break;
} else if (binary[i] == '1' && carry == 1) {
binary[i] = '0';
carry = 1;
}
}
return binary;
}
string twos_complement(string binary) {
string ones_comp = ones_complement(binary);
return add_one(ones_comp);
}
int main() {
string binary;
cout << "Hello Codeauri Family,Enter a binary number here to find the two's complement: \n";
cin >>binary;
cout << "Well,the two's complement of " << binary << " is: " << twos_complement(binary) << endl;
return 0;
}
Output:
Hello Codeauri Family,Enter a binary number here to find the two’s complement:
111
Well,the two’s complement of 111 is: 001
Pro-Tips💡
This program prompts the user to enter a binary number and then finds and prints the two’s complement of the given binary number.
It uses two functions called ones_complement and add_one to perform the operation of finding the two’s complement of a binary number.
The function ones_complement
takes a string as input and loops through each character of the string and checks if the character is ‘1’ or ‘0’.
If the character is ‘1’, it changes it to ‘0’ and if it is ‘0’ it changes it to ‘1’. In this way, the function returns the one’s complement of the given binary number.
The function add_one
takes one’s complement as input and add 1 to it by using the principle of addition in binary.
It starts from the last digit and keeps adding 1 to it and propagating the carry to the next left digit.
Finally, the twos_complement
function calls both above functions, passing the input binary number to ones_complement
function and passing the output of ones_complement
function to add_one
.
It returns the output of add_one
function, which is the two’s complement of the given binary number.
The program then calls the twos_complement
function and stores the result in a variable and finally prints the two’s complement of the given binary number.
Learn C-Sharp ↗
C-sharp covers every topic to learn about C-Sharp thoroughly.
Learn C Programming ↗
C-Programming covers every topic to learn about C-Sharp thoroughly.
Learn C++ Programming↗
C++ covers every topic to learn about C-Sharp thoroughly.