# C Program To Add Two Binary Numbers

In this post, we will learn how to add two binary numbers in C Programming language.

Binary numbers are those numbers which can be expressed in the base-2 numeral system, a mathematical expression which uses only two symbols: â€˜0â€™ and â€˜1â€™.

The binary addition rules are as follows:

• 0 + 0 = 0
• 0 + 1 = 1
• 1 + 0 = 1
• 1 + 1 = 10 which is 0 carry 1

We will be using these rules in our program to calculate the sum of two binary numbers.

So, without further ado, letâ€™s begin this tutorial.

Contents

## C Program To Add Two Binary Numbers

```// C Program To Add Two Binary Numbers
#include <stdio.h>
int main(){
long int binary1, binary2;
int i = 0, rem = 0, sum[20];

printf("Enter first binary number: ");
scanf("%ld", &binary1);
printf("Enter second binary number: ");
scanf("%ld", &binary2);

while (binary1 != 0 || binary2 != 0){
sum[i++] = (binary1 %10 + binary2 % 10 + rem) % 2;
rem = (binary1 %10 + binary2 % 10 + rem) / 2;
binary1 = binary1 / 10;
binary2 = binary2 / 10;
}
if (rem != 0)
sum[i++] = rem;
--i;
printf("Sum of two binary numbers is: ");
while (i >= 0){
printf("%d", sum[i--]);
}
return 0;
}
```

Output

``````Enter first binary number: 10101
Enter second binary number: 11100
Sum of two binary numbers is: 110001
``````

## How Does This Program Work ?

```    long int binary1, binary2;
int i = 0, rem = 0, sum[20];
```

In this program, we have declared two long data type variables named binary1 and binary2. We have also initialized the variables i and rem to 0.

```    // Asking for Input
printf("Enter first binary number: ");
scanf("%ld", &binary1);
printf("Enter second binary number: ");
scanf("%ld", &binary2);
```

Then, the user is asked to enter the values of two binary numbers. These values will be stored in binary1 and binary2 named variables respectively.

```    while (binary1 != 0 || binary2 != 0){
sum[i++] = (binary1 %10 + binary2 % 10 + rem) % 2;
rem = (binary1 %10 + binary2 % 10 + rem) / 2;
binary1 = binary1 / 10;
binary2 = binary2 / 10;
}
if (rem != 0){
sum[i++] = rem;
}
--i;
printf("Sum of two binary numbers is: ");
while (i >= 0){
printf("%d", sum[i--]);
}
```

Now, we build up a simple logic which will add the two binary numbers. The result will be printed using printf() function.

## Conclusion

I hope after going through this post, you understand how to add two binary numbers in C Programming language.

If you have any doubts regarding the program, feel free to contact us in the comment section. We will be delighted to help you.