# Printing the Decimal Equivalent of a Binary Number in Java

(Printing the Decimal Equivalent of a Binary Number) Write an application that inputs an integer containing only 0s and 1s (i.e., a binary integer) and prints its decimal equivalent. [Hint: Use the remainder and division operators to pick off the binary numberâ€™s digits one at a time, from right to left. In the decimal number system, the rightmost digit has a positional value of 1 and the next digit to the left a positional value of 10, then 100, then 1000, and so on. The decimal number 234 can be interpreted as 4 * 1 + 3 * 10 + 2 * 100. In the binary number system, the rightmost digit has a positional value of 1, the next digit to the left a positional value of 2, then 4, then 8, and so on. The decimal equivalent of binary 1101 is 1 * 1 + 0 * 2 + 1 * 4 + 1 * 8, or 1 + 0 + 4 + 8 or, 13.]

## Printing the Decimal Equivalent of a Binary Number in Java

``````/*
*       Filename:  BinaryToDecimal.java
*
*    Description:  Exercise 4.31 - Printing the Decimal Equivalent of a Binary
*                  Number
*
*  @Author:  Bilal Tahir Khan Meo
*  Website: https://codeblah.com
*
* =====================================================================================
*/
import java.util.Scanner;

public class BinaryToDecimal{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);

int binary = 0;     // original binary
int decimal = 0;    // conversion
int place = 0;      // the 2's place

System.out.print("Enter binary number for conversion: ");
binary = sc.nextInt();

while(binary != 0){
// extract rightmost digit
int lastDigit = binary % 10;

// raise rightmost digit to 2^place and add to decimal
decimal += lastDigit * Math.pow(2, place);

// slice rightmost digit from original
binary /= 10;

// shift 2's place to the left
place++;
}

System.out.printf("%d = %d\n", binary, decimal);
}
}``````