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: AInput : 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); } } |
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: 1000111Input: 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 )); } } |
9f1
Complexity of the above method
Time complexity: O(N)
Auxiliary Space: O(1)