**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↗**

**Learn C++ Programming↗**

C++ covers every topic to learn about C-Sharp thoroughly.