# Java Decimal to Hexadecimal Conversion

In Mathematics, we use various positional numbering schemes for representing numbers. We are familiar with decimal numbering system which uses a base of 10. Two other commonly used numbering systems in computing are hexadecimal (base 16) and binary (base 2).

Conversion of decimal value to hex string requires the following steps,

• Find the reminder of the decimal value when it is divided by 16.
• Find the corresponding hex character to get the right most character of the hex result
• Divide the decimal value by 16 and use it as the decimal value for the next iteration
• Repeat the steps to get each character in the hex result

The following program uses the above algorithm to convert decimal value to its corresponding hexadecimal string,

```/**
* Converts a decimal number to a hexadecimal string
*/
public class DecimalToHex {
public static String HEX_CHARACTERS="0123456789ABCDEF";

public static void main(String[] args) {
DecimalToHex dh = new DecimalToHex();
int decValue = 922;
String hex = dh.dec2hex(decValue);
System.out.println("Hexadecimal value of "+decValue+" is "+hex);
}

/**
*
* @param decValue decimal value to be converted
*/
private String dec2hex(int decValue) {
if(decValue==0) return "0";
String hexVal="";
while(decValue > 0) {
// find right most digit in hex
int digit = decValue%16;
hexVal = HEX_CHARACTERS.charAt(digit)+hexVal;

decValue = decValue/16;
}
return hexVal;
}
}```