Java Program to Add two Binary Numbers..


 

Java Program to Add two Binary Numbers

In this tutorial we will write a java program to add two binary numbers. Binary number system has only two symbols 0 & 1 so a binary numbers consists of only 0’s and 1’s. Before we write a program for addition, lets see how we do the addition on paper, this is shown in the diagram below:




Example: Adding binary numbers in Java

In this program we are using Scanner to get the input from user (user enters the two binary numbers that we need to add) and then we are adding them bit by bit using while loop and storing the result in an array.

import java.util.Scanner;
public class JavaExample {
   public static void main(String[] args)
   {
	//Two variables to hold two input binary numbers	 
	long b1, b2;
	int i = 0, carry = 0;

	//This is to hold the output binary number
	int[] sum = new int[10];

	//To read the input binary numbers entered by user
	Scanner scanner = new Scanner(System.in);

	//getting first binary number from user
	System.out.print("Enter first binary number: ");
	b1 = scanner.nextLong();
	//getting second binary number from user
	System.out.print("Enter second binary number: ");
	b2 = scanner.nextLong();

	//closing scanner after use to avoid memory leak
	scanner.close();
	while (b1 != 0 || b2 != 0) 
	{
		sum[i++] = (int)((b1 % 10 + b2 % 10 + carry) % 2);
		carry = (int)((b1 % 10 + b2 % 10 + carry) / 2);
		b1 = b1 / 10;
		b2 = b2 / 10;
	}
	if (carry != 0) {
		sum[i++] = carry;
	}
	--i;
	System.out.print("Output: ");
	while (i >= 0) {
		System.out.print(sum[i--]);
	}
	System.out.print("\n");  
   }
}

Output:

Enter first binary number: 11100
Enter second binary number: 10101
Output: 110001

You may like these posts: