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:
Java Code Editor:
Previous: Write a Java program to convert a decimal number to octal number.
Next: Write a Java program to convert a binary number to hexadecimal number.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics