C Program to Add Two Binary Numbers

This is a C program to Find the Sum of two Binary Numbers.

Problem Description

This program finds the sum of two binary numbers.

Problem Solution

1. Take two binary numbers as input.
2. Add each bits from the two binary numbers separately starting from LSB.
3. The operations may be as follows.
a) (0+0)=0,
b) (1+0)=1,
c) (1+1)=0 and 1 will be remainder.

Program/Source Code

Here is source code of the C program to Find the Sum of two Binary Numbers. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

  1. /*
  2.  * C Program to Find the Sum of two Binary Numbers
  3.  */
  4. #include <stdio.h>
  6. int main()
  7. {
  9.     long binary1, binary2;
  10.     int i = 0, remainder = 0, sum[20];
  12.     printf("Enter the first binary number: ");
  13.     scanf("%ld", &binary1);
  14.     printf("Enter the second binary number: ");
  15.     scanf("%ld", &binary2);
  16.     while (binary1 != 0 || binary2 != 0)
  17.     {
  18.         sum[i++] =(binary1 % 10 + binary2 % 10 + remainder) % 2;
  19.         remainder =(binary1 % 10 + binary2 % 10 + remainder) / 2;
  20.         binary1 = binary1 / 10;
  21.         binary2 = binary2 / 10;
  22.     }
  23.     if (remainder != 0)
  24.         sum[i++] = remainder;
  25.     --i;
  26.     printf("Sum of two binary numbers: ");
  27.     while (i >= 0)
  28.         printf("%d", sum[i--]);
  29.     return 0;
  30. }
Program Explanation

1. Take two binary numbers as input and store it in the variables binary1 and binary2.
2. Initialize the variables i and remainder to zero.
3. Obtain the remainders of both the binary numbers.
4. Obtain the quotients of both the binary numbers.
5. Firstly add the remainders of both binary numbers and further add the variable remainder.
6. Obtain the remainder of the result got at step 5 when divided by 2 and store it in the array sum[].
7. Obtain the quotient of the result got at step 5 when divided by 2 and override the variable remainder with this value.
8. Override the variables binary1 and binary2 with their quotient got at step 4.
9. Repeat the steps 3-8 with the new values of binary1 and binary2 until both becomes zero.
10. When it becomes zero check if any remainder exits. If it is, then copy it into the array sum.
11. Print the sum as output.

Runtime Test Cases
Enter the first binary number: 100000
Enter the second binary number: 101010
Sum of two binary numbers: 1001010

Sanfoundry Global Education & Learning Series – 1000 C Programs.

Here’s the list of Best Books in C Programming, Data-Structures and Algorithms

Sanfoundry Certification Contest of the Month is Live. 100+ Subjects. Participate Now!
If you wish to look at other example programs on Simple C Programs, go to Simple C Programs. If you wish to look at programming examples on all topics, go to C Programming Examples.

If you find any mistake above, kindly email to [email protected]

Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.