- Given a binary number, convert binary number to decimal number using java.
- We discuss various methods to convert binary number to decimal.
- Convert binary to decimal using Integer class
- Integer.parseInt method by specifying base 2.
- Iterative program to convert binary number to decimal number.
- Recursive program to convert binary number to decimal number.
- Convert binary to decimal using Integer class
Let us look into different methods to convert binary number to decimal number in java.
Method 1: Convert binary number to decimal in java (Integer.parseInt)
//binaryNumber = "1010" private static int toDecimalUsingParseInt(String binaryNumber) { //output: decimal = 10 return Integer.parseInt(binaryNumber, 2 ); } |
Method 2: Convert binary number to decimal in java (iterative method)
- Let us assume input binary number is “1010”.
- Binary to decimal conversion is :23 * 1 + 22 * 0 + 21 * 1 + 20 * 0 = 10
- Program to convert binary to decimal number is as follows:
//binaryNumber = "1010" private static int iterative(String binaryNumber) { int power = 0 ; int decimal = 0 ; for ( int index = 0 ; index < binaryNumber.length(); index++) { char chValue = binaryNumber.charAt(binaryNumber.length() - index - 1 ); int digit = Character.getNumericValue(chValue); decimal = decimal + digit * ( int ) Math.pow( 2 , power++); } return decimal; } //output: decimal = 10 |
Method 3: Convert binary number to decimal in java (recursive method)
//binaryNumber = "1010" private static int recursive(String binaryNumber) { int decimal = 0 ; int length = binaryNumber.length(); if (length > 0 ) { String substring = binaryNumber.substring( 1 ); int digit = Character.getNumericValue(binaryNumber.charAt( 0 )); decimal = digit * ( int ) Math.pow( 2 , length - 1 ) + recursive(substring); } return decimal; } //output: decimal = 10 |
The logical flow of recursive method for input binary string “1010” is shown in Fig 1.

Program: convert binary number to decimal (java, iterative & recursive)
package org.learn; import java.util.Scanner; public class BinaryToDecimal { public static void main(String[] args) { try (Scanner scanner = new Scanner(System.in)) { System.out.printf( "1. Enter binary string : " ); String binary = scanner.next(); int decimal = toDecimalUsingParseInt(binary); System.out.printf( "2. Binary to decimal - parseInt(%s,2) = %d " , binary, decimal); decimal = iterative(binary); System.out.printf( "\n3. Binary to decimal - iterative(%s) = %d " , binary, decimal); decimal = recursive(binary); System.out.printf( "\n4. Binary to decimal - recursive(%s) = %d " , binary, decimal); } } private static int toDecimalUsingParseInt(String binaryNumber) { return Integer.parseInt(binaryNumber, 2 ); } private static int iterative(String binaryNumber) { int power = 0 ; int decimal = 0 ; for ( int index = 0 ; index < binaryNumber.length(); index++) { char chValue = binaryNumber.charAt(binaryNumber.length() - index - 1 ); int digit = Character.getNumericValue(chValue); decimal = decimal + digit * ( int ) Math.pow( 2 , power++); } return decimal; } private static int recursive(String binaryNumber) { int decimal = 0 ; int length = binaryNumber.length(); if (length > 0 ) { String substring = binaryNumber.substring( 1 ); int digit = Character.getNumericValue(binaryNumber.charAt( 0 )); decimal = digit * ( int ) Math.pow( 2 , length - 1 ) + recursive(substring); } return decimal; } } |
Output: convert binary number to decimal (java, iterative & recursive)
1 . Enter binary string : 1010 2 . Binary to decimal - parseInt( 1010 , 2 ) = 10 3 . Binary to decimal - iterative( 1010 ) = 10 4 . Binary to decimal - recursive( 1010 ) = 10 1 . Enter binary string : 11100110 2 . Binary to decimal - parseInt( 11100110 , 2 ) = 230 3 . Binary to decimal - iterative( 11100110 ) = 230 4 . Binary to decimal - recursive( 11100110 ) = 230 |