Java Program For Decimal to Hexadecimal Conversion (original) (raw)
Last Updated : 30 Jul, 2024
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.
**Examples of Decimal to Hexadecimal Conversion
**Input : 10
**Output: A**Input : 2545
**Output: 9F1
**Algorithm
- Store the remainder when the number is divided by 16 in an array.
- Divide the number by 16 now
- Repeat the above two steps until the number is not equal to 0.
- Print the array in reverse order now.
**Program for Decimal to Hexadecimal Conversion in Java
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);
}
}
`
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 Program to Convert Decimal to Hexadecimal using Integer.toString() Method
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));
}
}
`
Complexity of the above method
**Time complexity: O(N)
**Auxiliary Space: O(1)