C++ Exercises: Find one's complement of a binary number
Write a program in C++ to find the one's complement of a binary number.
Sample Solution:-
C++ Code :
#include <iostream> // Including the input/output stream library
#define SZ 8 // Defining a constant named SZ with a value of 8
using namespace std; // Using the standard namespace
int main() // Main function where the execution of the program starts
{
int i; // Declare an integer variable 'i'
char binary[SZ + 1], onesComp[SZ + 1]; // Declare character arrays to store binary values and their one's complement
int error = 0; // Initialize an error flag
// Display messages asking for input
cout << "\n\n Find one's complement of a binary value:\n";
cout << "----------------------------------------------\n";
cout << " Input a " << SZ << " bit binary value: ";
cin >> binary; // Read a binary value from the user
// Loop to find the one's complement of the entered binary value
for (i = 0; i < SZ; i++)
{
if (binary[i] == '1') // Check if the current bit is '1'
{
onesComp[i] = '0'; // If '1', replace it with '0' in the one's complement
}
else if (binary[i] == '0') // Check if the current bit is '0'
{
onesComp[i] = '1'; // If '0', replace it with '1' in the one's complement
}
else // If the input value contains any other character than '0' or '1'
{
cout << "Invalid Input. Input the value of assign bits." << endl; // Display an error message
error = 1; // Set error flag to 1
break; // Exit the loop
}
}
onesComp[SZ] = '\0'; // Assign null terminator at the end of the one's complement array
if (error == 0) // If no error occurred during input processing
{
// Display the original binary value and its one's complement
cout << " The original binary = " << binary << endl;
cout << " After ones complement the number = " << onesComp << endl;
}
}
Sample Output:
Find one's complement of a binary value: ---------------------------------------------- Input a 8 bit binary value: 10100101 The original binary = 10100101 After ones complement the number = 01011010
Flowchart:
C++ Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a program in C++ to enter any number and print all factors of the number.
Next: Write a program in C++ to find two's complement of a binary number.
What is the difficulty level of this exercise?
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics