In Java How to convert from Binary to Decimal? At the same time, How to convert from Decimal to Binary? Well, this is another most common interview questions you may hear during interview process.
In this tutorial we will go over steps on how to convert number from Binary to Decimal and vice versa.
What is Binary number?
Have you seen movie Matrix? Well, you must have remembered a screen with all numbers filled with 0 and 1
. Well, Binary number is a representation of decimal number in the form of 0 and 1.
What is Decimal number?
Decimal number is also called number in base 10
. Also, we used it in our everyday life. 0,1,2,3,4,5,6,7,8,9 are decimal number
and all other numbers are based on these 10 numbers.
Let’s write Java program to convert number from Binary to Decimal
and Decimal to Binary
Here is a logic:
- Create java class CrunchifyBinaryDecimal.java.
- Create 3 different crunchifyGenerateBinaryNumbers() and convertBinaryToDecimal(). Name explains the purpose of both methods.
- From main() – we will call method
crunchifyGenerateBinaryNumbers
() to start process.- This method will start for loop with number 10
- We will convert first 10 decimal numbers to Binary
- Immediately after that program will call
convertBinaryToDecimal
() to convert number back from Binary to Decimal
- We will print result on Eclipse console during this process.
package crunchify.com.tutorial; import java.util.LinkedList; import java.util.Queue; /** * @author Crunchify.com * Program: Java program to convert number from Binary to Decimal and Decimal to Binary * Version: 1.0.0 * */ public class CrunchifyBinaryDecimal { // Main() method. // We will create 10 Binary value from Decimal. // Then we will convert those Binary value to Decimal public static void main(String a[]) { CrunchifyBinaryDecimal object = new CrunchifyBinaryDecimal(); object.crunchifyGenerateBinaryNumbers(10); } // This method will convert Decimal to Binary public void crunchifyGenerateBinaryNumbers(int n) { // Queue is a collection designed for holding elements prior to processing. Queue<String> crunchifyQueue = new LinkedList<String>(); // Enqueue the first binary number crunchifyQueue.add("1"); // This loops is Binary First Search of a tree with 1 as root // We will make sure left child always be 0 and right child 1 for (int i = 1; i <= n; i++) { String crunchifyString = crunchifyQueue.peek(); crunchifyQueue.remove(); println("We have generated Binary element for number " + i + " which is: " + crunchifyString); // calling convertBinaryToDecimal() method to convert it back to decima :) println("Converting back to Decimal: " + convertBinaryToDecimal(Integer.parseInt(crunchifyString)) + "\n"); // Make sure we are storing previous value String previousFront = crunchifyString; // Append "0" to crunchifyQueue and enqueue it crunchifyQueue.add(crunchifyString + "0"); // Append "1" to previousFront and enqueue it. crunchifyQueue.add(previousFront + "1"); } } // This method will convert Binary Value to Decimal public static int convertBinaryToDecimal(int crunchifyBinaryValue) { int crunchifyDecimalValue = 0; int crunchifyPower = 0; while (true) { if (crunchifyBinaryValue == 0) { break; } else { int crunchifyTemp = crunchifyBinaryValue % 10; crunchifyDecimalValue += crunchifyTemp * Math.pow(2, crunchifyPower); crunchifyBinaryValue = crunchifyBinaryValue / 10; crunchifyPower++; } } return crunchifyDecimalValue; } private static void println(String string) { System.out.println(string); } }
Here is a Eclipse console result
As you see below in Eclipse console result, we have first converted Decimal to Binary and then Binary to Decimal.
We have generated Binary element for number 1 which is: 1 Converting back to Decimal: 1 We have generated Binary element for number 2 which is: 10 Converting back to Decimal: 2 We have generated Binary element for number 3 which is: 11 Converting back to Decimal: 3 We have generated Binary element for number 4 which is: 100 Converting back to Decimal: 4 We have generated Binary element for number 5 which is: 101 Converting back to Decimal: 5 We have generated Binary element for number 6 which is: 110 Converting back to Decimal: 6 We have generated Binary element for number 7 which is: 111 Converting back to Decimal: 7 We have generated Binary element for number 8 which is: 1000 Converting back to Decimal: 8 We have generated Binary element for number 9 which is: 1001 Converting back to Decimal: 9 We have generated Binary element for number 10 which is: 1010 Converting back to Decimal: 10
Hope you get complete idea on how to convert numbers from Binary to Decimal and Decimal to Binary. Let me know if you have any questions.