# C program to find ones complement of a binary number

Write a C program to input binary number from user and find ones complement of binary number using loop. How to find 1s complement of a binary number in C programming. Logic to find ones complement of binary number in C programming.

Example

Input

`Input binary number: 01000011`

Output

`Ones complement: 10111100`

## Required knowledge

### What is Ones complement?

Ones complement of a binary number is defined as value obtained by inverting all binary bits. It is the result of swapping all 1s to 0s and all 0s to 1s.

## Logic to find ones complement of a number

Step by step logic to find ones complement of binary number.

1. Input a binary string from user. Store it in a variable say binary.
2. Run a loop from 1 to length of binary string, increment 1 in each iteration. The loop structure should look like `for(i=0; i<SIZE; i++)` (where SIZE is the length of binary digit).
3. Inside loop there are two possibilities -
• Print 0 for each 1 binary bit i.e. `if(binary[i] == '1')`.
• Print 1 for each 0 binary bit i.e. `if(binary[i] == '0')`.

## Program to find ones complement of a number

``````/**
* C program to find 1s complement of a binary number
*/

#include <stdio.h>

#define SIZE 8

int main()
{
char binary[SIZE + 1], onesComp[SIZE + 1];
int i, error=0;

printf("Enter %d bit binary value: ", SIZE);

/* Input binary string from user */
gets(binary);

/* Store all inverted bits of binary value to onesComp */
for(i=0; i<SIZE; i++)
{
if(binary[i] == '1')
{
onesComp[i] = '0';
}
else if(binary[i] == '0')
{
onesComp[i] = '1';
}
else
{
printf("Invalid Input");
error = 1;

/* Exits from loop */
break;
}
}

/* Marks the end of onesComp string */
onesComp[SIZE] = '\0';

/* Check if there are binary string contains no error */
if(error == 0)
{
printf("Original binary = %s\n", binary);
printf("Ones complement = %s", onesComp);
}

return 0;
}``````

Output

```Enter any 8 bit binary value: 00001111
Original binary = 00001111
Ones complement = 11110000```

Happy coding 😉

Write your doubts or suggestion. I will try my best to help. You must escape source code before commenting. To format your source code paste your source code inside