# C++ program to add two binary numbers using class

Submitted by Shubh Pachori, on September 04, 2022

## Problem statement

Given two binary numbers, we have to add these numbers using the class and object approach.

Example:

```Input:
Enter 1st Binary: 1111
Enter 2nd Binary: 1111

Output:
Sum of Binary is 11110
```

## C++ code to add two binary numbers using the class and object approach

```#include <math.h>
#include <iostream>
using namespace std;

// create a class
class Binary {
// private data members
private:
int binary_1, binary_2;

// public member functions
public:
// putBinary() function to
// insert binary numbers
void putBinary() {
cout << "Enter 1st Binary: ";
cin >> binary_1;

cout << "Enter 2nd Binary: ";
cin >> binary_2;
}

// sumBinary() function to
void sumBinary() {
// initializing int type variables
// to perform operations
int index_1 = 0, index_2 = 0, sum[30];

// while loop to add two binary numbers
while (binary_1 != 0 || binary_2 != 0) {
// adding last digits of both
// binary numbers and index_2
sum[index_1++] = (int)((binary_1 % 10 + binary_2 % 10 + index_2) % 2);

// adding last digits of both binary numbers and
// index_2 in index_2 after divided by 2
index_2 = (int)((binary_1 % 10 + binary_2 % 10 + index_2) / 2);

// discarding last digit by dividing it by 10
binary_1 = binary_1 / 10;
binary_2 = binary_2 / 10;
}

// if condition to check if the index_2
// is empty or not
if (index_2 != 0) {
// if it is non zero then it it is placed at
// the next place in the array
sum[index_1++] = index_2;
}

cout << "Sum of Binary is ";

// for loop to print the resulting binary number
for (index_1 = index_1 - 1; index_1 >= 0; index_1--) {
cout << sum[index_1];
}
}
};

int main() {
// create object
Binary B;

// calling putBinary() function to
// insert binary numbers
B.putBinary();

// calling sumBinary() function to
B.sumBinary();

return 0;
}
```

### Output

```Enter 1st Binary: 10101
Enter 2nd Binary: 1000
Sum of Binary is 11101
```

### Explanation

In the above code, we have created a class Binary, two int type data members binary_1 and binary_2 to store the binary numbers, and public member functions putBinary() and sumBinary() to store binary numbers and to add inputted binary numbers.

In the main() function, we are creating an object B of class Binary, reading the binary number inputted by the user using putBinary() function, and finally calling the sumBinary() member function to add inputted binary numbers. The sumBinary() function contains the logic to add inputted binary numbers and printing the result.