Home >Java >javaTutorial >Java program: hexadecimal to decimal conversion

Java program: hexadecimal to decimal conversion

WBOY
WBOYforward
2023-08-26 13:01:053873browse

Java program: hexadecimal to decimal conversion

There are four types of number systems: binary, octal, decimal, and hexadecimal, with base values ​​2, 8, 10, and 16 respectively. The base value depends on the number of digits the number system contains. For example, the binary number system contains only two digits, 0 and 1, so its base is 2.

In this article, we will discuss hexadecimal and decimal number systems. Also, we will write java program to convert hexadecimal number to decimal number.

Hexadecimal and Decimal Numbering Systems

Hexadecimal number system

It represents the numbers from 0 to 9, A to F. There are 16 numbers in total, and its base value is also 16. The weight of individual numbers is a power of 16, so each number is 16 times heavier than the previous one. 12A16, 34B16, 45C16 are a few examples of hexadecimal. In computers, color codes are usually written in hexadecimal form.

Suppose we have to store a large decimal value, if we store it in binary counting system, then the binary string may become very long. In this case we can use the hexadecimal number system which can store 4 binary bits as 1 bit. It shortens the bit length.

Decimal number system

It is the most commonly used number system. It has 10 digits from 0 to 9. Therefore, its base value is 10. If a number's base value is not mentioned, the number is assumed to be 10. Individual numbers are weighted as powers of 10, so each number is 10 times more weighty than the last. For example, 1010, 43110, 98010, etc.

The following table represents the binary and decimal values ​​of all hexadecimal numbers -

binary

decimal

hexadecimal

0001

1

1

0010

2

2

0011

3

3

0100

4

4

0101

5

5

0110

6

6

0111

7

7

1000

8

8

1001

9

9

1010

10

A

1011

11

B

1100

12

C

1101

13

D

1110

14

E

1111

15

F

Hex to Decimal Conversion

Let us understand how to convert hexadecimal to decimal.

Example 1

Convert hexadecimal (54A)16 to decimal -

We can convert each number to decimal by multiplying it by 16n-1, where n is the number of digits.

(54A)16 = 5 * 163-1 4 * 162-1 A * 161-1

= 5 * 162 4 * 161 10 * 160 [A = 10 decimal table]

= 5 * 256 64 10 [160 equals 1]

= 1280 74

= 1354

Now, we will see a java program where we will apply the above logic to convert hexadecimal to decimal.

Method 1: Use parseInt() method

It is a static method of the "Integer" class that returns a decimal value based on the specified base. It is available in the "java.lang" package.

grammar

Integer.parseInt("String", base); 

parameter

  • String - the value to convert

  • Base - The given value is converted according to the given base

Example

public class Conversion {
   public static void main(String args[]) {  
      // Converting and storing hexadecimal value to dec1 and dec2 with base 16  
      int dec1 = Integer.parseInt("54A", 16);
      int dec2 = Integer.parseInt("41C", 16);
      System.out.println("Decimal value of given Hexadecimal: " + dec1);
      System.out.println("Decimal value of given Hexadecimal: " + dec2);
   }
}

Output

Decimal value of given Hexadecimal: 1354
Decimal value of given Hexadecimal: 1052

Method 2: Use user-defined method

In this method, we will create a user-defined method cnvrt() with the parameter "hexNum". We will declare and initialize "hexStr" which will store all hexadecimal digits in the form of a string. We will then run a for loop until the length of the parameter "hexNum". In this loop, we will get the character and its index from "hexStr" and then apply the conversion logic.

In the main method, we will call the method "cnvrt()" with different parameters.

Example

public class Conversion {
   public static void cnvrt(String hexNum) {
      // storing all the hexadecimal digits to this string 
      String hexStr = "0123456789ABCDEF"; 
      // converting given argument to uppercase
      hexNum = hexNum.toUpperCase();   
      int dec = 0;  
      for (int i = 0; i < hexNum.length(); i++) {  
         char ch = hexNum.charAt(i); 
         // fetching characters sequentially 
         int index = hexStr.indexOf(ch); 
         // fetching index of characters  
         dec = 16 * dec + index; 
         // applying the logic of conversion 
      }
      System.out.println("Decimal value of given Hexadecimal: " + dec); 
   }
   public static void main(String args[]) {
      // calling the function with arguments
      cnvrt("54A"); 
      cnvrt("41C");  
   }
}

Output

Decimal value of given Hexadecimal: 1354
Decimal value of given Hexadecimal: 1052

in conclusion

In this article, we learned about the types of number systems. These number systems are the basis of any mathematical operation. In addition, two methods of making java programs to convert hexadecimal numbers to decimal numbers are also discussed.

The above is the detailed content of Java program: hexadecimal to decimal conversion. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete