Convert Binary Number to Decimal in Java

Exercise:

Write a Java Program to convert binary number to decimal.

Click Here to View the Solution!
public class BinaryToDecimal {
  
     public static void main(String[] args) {
         long number = 101101101;
         int decimal = convertBinaryToDecimal(number);
         System.out.printf("%d in binary = %d in decimal", number, decimal);
     }
  
     public static int convertBinaryToDecimal(long number)
     {
         int decimalNumber = 0, i = 0;
         long remainder;
         while (number != 0)
         {
             remainder = number % 10;
             number /= 10;
             decimalNumber += remainder * Math.pow(2, i);
             ++i;
         }
         return decimalNumber;
     }
 } 
Click Here to View the Output!
101101101 in binary = 365 in decimal
Click Here to View the Explanation!
  • This program deals with transforming a binary number into a decimal number with the help of convertBinaryToDecimal() function.
  • Primarily, In the main() function a number ‘101101101; with data type defined as ‘long’, is declared.
  • This number is passed as an argument to convertBinaryToDecimal() function.
  • Two variables: ‘decimalNumber’ and ‘remainder’, declared in the function, keep track of values during each execution. Here ‘i’ keeps track of power of ‘2’, being increased by 1 with each pass as long as the number does not approach ‘0’.
  • During the first step of execution, the remainder (to 10) for the given value is calculated. Then the number is divided by ‘10’, to be passed for the next iteration.
  • In the third statement of the function, the product of remainder and power (i.e. ‘0’ initially) of ‘2’, is calculated and stored in the variable ‘decimalNumber’.
  • The value of ‘i’ gets increased by ‘1’ in the fourth statement of the function.
  • This process continues till the value of number variable becomes ‘0’. After that the function returns a number ‘365’ which is the decimal value for the given number ‘101101101.