In this tutorial, we will write a Java Program to Convert a Hexadecimal Number to Binary Number. Before that, you must have knowledge of the following topics in java.

**Binary number**

The binary numbers are based on 0 and 1, so it is a base 2 number. They are the combination of 0 and 1. For example, 1001, 110101, etc.

**Hexadecimal** **number**

The hexadecimal number is represented with a base of 16. It has digits from 0 to 15 to represent, However after 9 the values are represented in Alphabet till 15 such as 10 is represented as A, 11 as B, 12 as C, 13 as D, 14 as E, and 15 as F.

Now let us go through a program for hexadecimal to binary conversion in java.

**Java Program to Convert Hexadecimal to Binary using While loop**

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | import java.util.Scanner; public class Main { public static int conversionFunc(String hexa) { String digits = "0123456789ABCDEF"; hexa = hexa.toUpperCase(); int result = 0; for (int i = 0; i < hexa.length(); i++) { char c = hexa.charAt(i); int d = digits.indexOf(c); result = 16 *result + d; } return result; } public static void main(String args[]) { String hexDecNum; int decnum, i = 1, j; int binnum[] = new int[100]; Scanner scan = new Scanner(System.in); System.out.print("Enter Hexadecimal Number: "); hexDecNum = scan.nextLine(); //hexadecimal to decimal decnum = conversionFunc(hexDecNum); //decimal to binary while (decnum != 0) { binnum[i++] = decnum % 2; decnum = decnum / 2; } System.out.print("Equivalent Binary Value: "); for (j = i - 1; j > 0; j--) { System.out.print(binnum[j]); } } } |

**Output:**

`Enter Hexadecimal Number: AD`

Equivalent Binary Value: 10101101