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