# Java Program For Decimal to Hexadecimal Conversion

Given a decimal number N, convert N into an equivalent hexadecimal number i.e. convert the number with base value 10 to base value 16. The decimal number system uses 10 digits 0-9 and the Hexadecimal number system uses 0-9, A-F to represent any numeric value.

Input : 10
Output: A

Input : 2545
Output: 9F1

## Algorithm

1. Store the remainder when the number is divided by 16 in an array.
2. Divide the number by 16 now
3. Repeat the above two steps until the number is not equal to 0.
4. Print the array in reverse order now.

## Java

 `// Java program to convert Decimal Number ` `// to Hexadecimal Number ` ` `  `// Importing input output classes ` `import` `java.io.*; ` ` `  `// Main class ` `public` `class` `GFG { ` ` `  `    ``// Method 1 ` `    ``// To convert decimal to hexadecimal ` `    ``static` `void` `decTohex(``int` `n) ` `    ``{ ` `        ``// Creating an array to store octal number ` `        ``int``[] hexNum = ``new` `int``[``100``]; ` ` `  `        ``// counter for hexadecimal number array ` `        ``int` `i = ``0``; ` `        ``while` `(n != ``0``) { ` ` `  `            ``// Storing remainder in hexadecimal array ` `            ``hexNum[i] = n % ``16``; ` `            ``n = n / ``16``; ` `            ``i++; ` `        ``} ` ` `  `        ``// Printing hexadecimal number array ` `        ``// in the reverse order ` `        ``for` `(``int` `j = i - ``1``; j >= ``0``; j--) { ` `            ``if` `(hexNum[j] > ``9``) ` `                ``System.out.print((``char``)(``55` `+ hexNum[j])); ` `            ``else` `                ``System.out.print(hexNum[j]); ` `        ``} ` `    ``} ` ` `  `    ``// Method 2 ` `    ``// Main driver method ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``// Custom input decimal number ` `        ``// to be converted into hexadecimal number ` `        ``int` `n = ``2545``; ` ` `  `        ``// Calling the above Method1 over number 'n' ` `        ``// to convert this decimal into hexadecimal number ` `        ``decTohex(n); ` `    ``} ` `}`

Output

`9F1`

#### The complexity of the above method:

Time Complexity: O(log N)
Auxiliary Space: O(1)

## Another Method Using Integer.toString()

The java.lang.Integer.toString(int a, int base) is an inbuilt method in Java that is used to return a string representation of the argument in the base, specified by the second argument base. If the radix/base is smaller than the Character.MIN_RADIX or larger than Character.MAX_RADIX, then the base 10 is used. The ASCII characters are used as digits: 0 to 9 and a to z.

### Syntax

`public static String toString(int a, int base)`

Parameter: The method accepts two parameters:

• a: This is of integer type and refers to the integer value that is to be converted.
• base: This is also of integer type and refers to the base that is to be used while representing the strings.

Return Value: The method returns a string representation of the specified argument in the specified base.

Examples:

Input: a = 71, base = 2
Output: 1000111

Input: a = 314, base = 16
Output: 13a

## Java

 `// To convert Decimal to ` `// Hexadecimal Number ` `import` `java.util.*; ` ` `  `// Main driver method ` `public` `class` `Main { ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``// Number in decimal ` `        ``int` `number = ``2545``; ` ` `  `        ``// output ` `        ``System.out.println(Integer.toString(number, ``16``)); ` `    ``} ` `}`

Output

```9f1
```

#### Complexity of the above method

Time complexity: O(N)
Auxiliary Space: O(1)

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Previous
Next