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