# Java Program to Add Two Binary Strings

## Introduction

This article illustrates how to add two binary strings. Since we are dealing with binary strings, the addition of the two will also result in a binary string. The illustration of the problem at hand is as follows:

## Illustration

Input : x = “10”, y = “01”
Output : “11”

Input : x = “110”, y = “011”
Output = “1001”

The outputs follow the logic below:

110
+011
=1001

## Logic of the Code

Since this is a logical sum, the calculation needs to start from the right side of both the numbers. The numbers are added in the following manner:

• 0 + 0 = 0
• 0 + 1 = 1
• 1 + 0 = 1
• 1 + 1 = 0 (carry one)

Therefore, whenever there is a carry over, 1 has to be added to the set of digits moving from the right to the left side.

## Source Code

```public class Demo
{
static String add_Binary (String x, String y)
{
String res = “”;
int d = 0;
int k = x.length() -1, l = y.length() -1;
while (k >= 0 || >= 0 ||d ==1)
{
d += ((k > 0) ? x.chatAt(k) = ‘0’ : 0);
d += ((l > 0) ? x.chatAt(l) = ‘0’ : 0);
res = (char)(d % 2 + ‘0’ + res;
d /= 2;
k++;
l--;
}
return res;
}
public static void main (String args [])
{
String x = “011011”, y = “1010111”;