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

Basic C programming, If else, For loop, String

### 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.

- Input a binary string from user. Store it in a variable say
`binary`. - 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). - 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')`

.

- Print 0 for each 1 binary bit i.e.

## 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 😉

### Recommended posts

- Loop programming exercises and solutions in C.
- C program to find twos complement of a binary number.
- C program to convert Binary to Decimal number system.
- C program to convert Octal to Decimal number system.
- C program to convert Decimal to Binary number system.
- C program to convert Hexadecimal to Decimal number system.

<pre><code> ----Your Source Code---- </code></pre>