Java Program to Convert Binary Number to Decimal and vice-versa

To understand this example, you should have the knowledge of the following Java programming topics:


Convert Binary Number to Decimal Number

Binary numbers are numbers consisting only of 2 digits: 0 and 1. They can be expressed in the base 2 numeral system. For example,

 10 (2), 1000 (8), 11001 (25)

Decimal numbers are numbers consisting of 10 digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. They can be expressed in the base 10 numeral system.

 18, 222, 987

Here, we will be writing a Java program that will convert a binary number into decimal and vice versa using built-in methods and custom methods.

Example 1: Binary to Decimal Conversion Using Custom Method

 class Main { public static void main(String[] args) { // binary number long num = 110110111; // call method by passing the binary number int decimal = convertBinaryToDecimal(num); System.out.println("Binary to Decimal"); System.out.println(num + " = " + decimal); } public static int convertBinaryToDecimal(long num) { int decimalNumber = 0, i = 0; long remainder; while (num != 0) { remainder = num % 10; num /= 10; decimalNumber += remainder * Math.pow(2, i); ++i; } return decimalNumber; } }

Output

 110110111 in binary = 439 in decimal

Here's how the above program works:

Converting Binary Number to Decimal
Binary to Decimal Conversion

Example 2: Binary to Decimal Conversion Using parseInt()

 class Main { public static void main(String[] args) { // binary number String binary = "01011011"; // convert to decimal int decimal = Integer.parseInt(binary, 2); System.out.println(binary + " in binary = " + decimal + " in decimal."); } }

Output

 01011011 in binary = 91 in decimal.

Here, we have used the parseInt() method of the Integer class to convert a binary number into decimal.


Example 3: Decimal to Binary Conversion using Custom Method

 class Main { public static void main(String[] args) { // decimal number int num = 19; System.out.println("Decimal to Binary"); // call method to convert to binary long binary = convertDecimalToBinary(num); System.out.println("\n" + num + " = " + binary); } public static long convertDecimalToBinary(int n) { long binaryNumber = 0; int remainder, i = 1, step = 1; while (n!=0) { remainder = n % 2; System.out.println("Step " + step++ + ": " + n + "/2"); System.out.println("Quotient = " + n/2 + ", Remainder = " + remainder); n /= 2; binaryNumber += remainder * i; i *= 10; } return binaryNumber; } }

Output

 Decimal to Binary Step 1: 19/2 Quotient = 9, Remainder = 1 Step 2: 9/2 Quotient = 4, Remainder = 1 Step 3: 4/2 Quotient = 2, Remainder = 0 Step 4: 2/2 Quotient = 1, Remainder = 0 Step 5: 1/2 Quotient = 0, Remainder = 1 19 = 10011

Here's how the program works:

Converting a decimal number into binary
Decimal to Binary Conversion

Example 4: Decimal to Binary Conversion using toBinaryString()

We can also use the toBinaryString() method of the Integer class to convert a decimal number into binary.

 class Main { public static void main(String[] args) { // decimal number int decimal = 91; // convert decimal to binary String binary = Integer.toBinaryString(decimal); System.out.println(decimal + " in decimal = " + binary + " in binary."); } }

Output

 91 in decimal = 1011011 in binary.

Here, the toBinaryString() method takes an integer argument and returns the string representation of the number in base 2 (binary).


Also Read:

Before we wrap up, let’s put your knowledge of Java Program to Convert Binary Number to Decimal and vice-versa to the test! Can you solve the following challenge?

Challenge:

Write a function to convert binary number to decimal.

  • Return the decimal equivalent of the given binary number.
  • For example, if binary = 1011, the expected output is 11.
Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community