C++ Examples

WAP in C++ to find Two’s complement of a binary number

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.

Codeauri is Code Learning Hub and Community for every Coder to learn Coding by navigating Structurally from Basic Programming to Front-End Development, Back-End Development to Database, and many more.

Related Posts

C# Program to Find Sum of Rows & Columns of a Matrix

The Program in C# Program to Find Sum of Rows & Columns of a Matrix is given below: Output: Hello Codeauri Family,enter the number of rows and columns…

C# Program to Calculate Determinant of Given Matrix

The Program in C# Program to Calculate Determinant of Given Matrix is given below: Output: Hello Codeauri Family, enter the number of rows and columns of the matrix…

C# Program to Find Sum of right Diagonals of a Matrix

The Program in C# Program to Find Sum of right Diagonals of a Matrix is given below: Output: Hello Codeauri Family, enter the number of rows and columns…

C# Program to Find Transpose of Given Matrix

The Program in C# Program to Find Transpose of Given Matrix is given below: Output: Hello Codeauri Family, enter the number of rows and columns in the matrix:22Enter…

C# Program for Multiplication of two square Matrices

The Program in C# Program for Multiplication of two square Matrices is given below: Output: Hello Codeauri Family, enter the number of rows/columns in the matrices:2Enter the elements…

C# Program to Delete Element at Desired position From Array

The Program in C# Program to Delete Element at Desired position From Array is given below: Output: Hello Codeauri Family, enter the number of elements in the array:4Enter…

Leave a Reply

Your email address will not be published. Required fields are marked *

Your Journey into Code Begins Now: Discover the Wonders of Basic Programming

X