Java program to convert Decimal into Hexadecimal
This program is used to convert a decimal number into a hexadecimal number in Java.
A Decimal number employs 10 as a base and represents any number using 10 digits [0-9].
While
A Hexadecimal number employs 16 as a base and represent any number using 10 digits and 6 characters [0-9,A,B,C,D,E,F].
Hence, we can say we need to convert a number with base value 10 to base value 16.
There are 2 ways to convert a Decimal number to Hexadecimal number:
- Using the Integer.toHexString() method.
- Using our own logic to implement it unlike the predefined method in the above step.
Integer.toHexString() method to get Hexadecimal from Decimal
import java.io.*; class DecimalToHex { public static void main(String args[])throws IOException { int n; //Defining decimal number BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter a decimal number: "); n = Integer.parseInt(br.readLine()); //Entering the decimal number String hex= Integer.toHexString(n); //Using the predefined function System.out.println("The corresponding hexadecimal number is: "+hex); //Getting the required output } }
As shown above, the code is easily explained and easy to understand and implement.
It gives the following outputs for different inputs:
1) Enter a decimal number: 14 The corresponding hexadecimal number is: e
2) Enter a decimal number: 26 The corresponding hexadecimal number is: 1a
3) Enter a decimal number: 289 The corresponding hexadecimal number is: 121
Another way to convert Decimal into Hexadecimal in Java
import java.io.*; class DecimalToHex { public static void main(String args[])throws IOException { int n,rem; String hexa=""; //rem is to store the remainder and hexa is to store the hexadecimal BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter a decimal number: "); n = Integer.parseInt(br.readLine()); char hex[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; //digits in hexadecimal system while(n>0) { rem=n%16; hexa=hex[rem]+hexa; n=n/16; } System.out.println("The corresponding hexadecimal number is: "+hexa); } }
As shown above, we have not used any predefined functions and solved it using our own logic simply by using arrays and while loop.
It gives the following output: (similar to the first way)
1) Enter a decimal number: 14 The corresponding hexadecimal number is: e
2) Enter a decimal number: 26 The corresponding hexadecimal number is: 1a
Also learn:
Leave a Reply