C++ Exercises: Find one's complement of a binary number
C++ For Loop: Exercise-64 with Solution
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?
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/cpp-exercises/for-loop/cpp-for-loop-exercise-64.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics