Java: Convert a binary number to decimal number
Binary to Decimal Converter
Write a Java program to convert a binary number to a decimal number.
Binary number: A binary number is a number expressed in the base-2 numeral system or binary numeral system. This system uses only two symbols: typically 1 (one) and 0 (zero).
Decimal number: The decimal numeral system is the standard system for denoting integer and non-integer numbers. It is also called base-ten positional numeral system.
Pictorial Presentation: Binary to Decimal number
Sample Solution:
Java Code:
import java.util.Scanner;
public class Exercise22 {
    public static void main(String[] args) {
        // Create a Scanner object to read input from the user
        Scanner sc = new Scanner(System.in);
        
        // Declare variables to store binary and decimal numbers, remainder, and a multiplier
        long binaryNumber, decimalNumber = 0, j = 1, remainder;
        
        // Prompt the user to input a binary number
        System.out.print("Input a binary number: ");
        binaryNumber = sc.nextLong();
        // Convert the binary number to decimal
        while (binaryNumber != 0) {
            remainder = binaryNumber % 10;
            decimalNumber = decimalNumber + remainder * j;
            j = j * 2;
            binaryNumber = binaryNumber / 10;
        }
        
        // Display the decimal representation of the binary number
        System.out.println("Decimal Number: " + decimalNumber);
    }
}
Explanation:
In the exercise above -
- It takes a binary number as input from the user using the "Scanner" class and stores it in the variable 'binaryNumber'.
 - It initializes a variable 'decimalNumber' to store the decimal equivalent and another variable 'j' as a multiplier, starting from 1.
 - It enters a loop to perform the binary-to-decimal conversion:
 - In each iteration, it calculates the remainder when the 'binaryNumber' is divided by 10 (which gives the least significant binary digit).
 - It then adds this remainder multiplied by the current value of 'j' to the 'decimalNumber'.
 - It multiplies 'j' by 2 to prepare for the next binary digit.
 - It updates 'binaryNumber' by removing the least significant digit (rightmost) and by dividing it by 10.
 - The loop continues until 'binaryNumber' becomes zero, effectively converting the entire binary number to decimal.
 - After the loop, it prints the decimal representation of the binary number stored in the 'decimalNumber' variable.
 
Sample Output:
Input a binary number: 100 Decimal Number: 4
Flowchart:
For more Practice: Solve these Related Problems:
- Convert a negative binary number to decimal.
 - Modify the program to accept binary numbers up to 32 bits.
 - Write a program to handle binary-to-decimal conversion without using loops.
 - Implement binary-to-decimal conversion using bitwise operations.
 
Go to:
PREV : Decimal to Octal Converter.
NEXT : Binary to Hexadecimal Converter.
Java Code Editor:
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
