Java程序示例:十六进制的使用


这里,我们将通过Java程序演示十六进制的使用。

在查看Java程序之前,让我们先了解一下十六进制的概念。

十六进制是一种以16为基数的数字系统。它有16个符号来表示十六进制数。这些符号或值是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E和F。每个数字代表一个十进制值。

从0到9的十六进制数相当于从0到9的十进制数。

此外,A代表10,B代表11,C代表12,D代表13,E代表14,F代表15。

通过一些例子演示十六进制数系统的使用

  • 将十进制数转换为十六进制数

  • 将十六进制数转换为十进制数

  • 将十六进制数转换为长整数

  • 将长整数转换为十六进制数

转换基础

考虑任何十进制值并将其转换为十六进制数系统。

让我们考虑十进制数775

序号

余数

十六进制值

775/16

48

7

7

48/16

3

0

0

3/16

0

3

3

因此,对应的十六进制值为307

让我们考虑另一个十进制数1256

序号

余数

十六进制值

1256/16

78

8

8

78/16

4

14

E

4/16

0

4

4

因此,对应的十六进制值为4E8

示例1

让我们来看一个Java程序,将十进制数转换为其对应的十六进制数。

// Java program to convert a decimal
// number into a hexadecimal number
import java.io.*;
public class DectoHexadecimal {
	// method to convert decimal to hexadecimal number system
	static void decToHexa(int num)	{
		// char array that stores the hexadecimal number
		char[] hexaDec = new char[100];
		int j = 0;
		while (num != 0) {
			// temporary variable to store the remainder
			int t = 0;
			// storing the remainder in the temp variable.
			t = num % 16;
			// check if temp < 10
			if (t < 10) {
				hexaDec[j] = (char)(t + 48);
				j++;
			} else {
				hexaDec[j] = (char)(t + 55);
				j++;
			}

			num = num / 16;
		}
		// hexadecimal number array in reverse order
	
		for (int k = j - 1; k >= 0; k--)
			System.out.print( hexaDec[k]);
	}
	public static void main(String[] args){
		int num = 4698;
		System.out.print("Hexadecimal equivalent of " +num+ " is " );
		decToHexa(num);
	}
}

输出

Hexadecimal equivalent of 4698 is 125A

此程序旨在演示十六进制数系统的运行方式。这里,一个十进制数被赋给一个变量,并使用自定义逻辑将其转换为对应的十六进制数。

示例2

让我们来看一个Java程序,使用预定义函数(即库函数)toHexString将十进制数转换为其对应的十六进制数。

// Java Program to demonstrate the Usage of HexaDecimal
import java.io.*;
public class DecimaltoHex {
	// Main  method
	public static void main(String[] args){
		//Decimal number to be converted
		int d = 986;
		// Using the toHexString() method to convert decimal value to its 
		// corresponding hexadecimal value
		String hexd = Integer.toHexString(d);
		// Displaying hexaDec value
		System.out.println("Hexadecimal value of " +d+ " is " + hexd);
	}
}

输出

Hexadecimal value of 986 is 3da

这是另一个演示十六进制数使用的程序。这里,使用toHexString方法将十进制数转换为其对应的十六进制数。

示例3

让我们来看一个Java程序,使用库函数parseInt将十六进制数转换为其对应的十进制数。

// Java program to convert Hexadecimal numbers to corresponding Decimal number
import java.io.*;
public class HexToDecimal {
	// Main method
	public static void main(String[] args)	{
		// Random Hexadecimal number stored in a string
		String hexd = "4B6A";
		// Passing hexd and base 16 as parameters
		// to parseInt method
		int dec = Integer.parseInt(hexd, 16);
		// Displaying the corresponding
		// decimal value of a hexadecimal number
		System.out.println("Corresponding Decimal value of" + hexd + " is " + dec);
	}
}

输出

Corresponding Decimal value of4B6A is 19306

此程序旨在演示十六进制数系统的运行方式。这里,一个十六进制数被赋给一个变量,并使用库函数Integer.parseInt将其转换为其对应的十进制数。

示例4

让我们来看一个Java程序,使用库函数Long.toHexString将十六进制数转换为其对应的长整数。

// Java Program to demonstrate the Usage of HexaDecimal
import java.io.*;
public class LongToHex {
	// Main method
	public static void main(String[] args)	{
		// Long number to be converted 
		long l = 2028;
		// Storing the result in a string hexd
		String hexd = Long.toHexString(l);
		// Displaying the corresponding hexadecimal value
		System.out.println("Corresponding Hex value of long number " +l+ " is " + hexd);
	}
}

输出

Corresponding Hex value of long number 2028 is 7ec

此程序旨在演示十六进制数系统的运行方式。这里,一个十六进制数被赋给一个变量,并使用库函数Long.toHexString将其转换为其对应的长整数。

示例5

让我们来看一个Java程序,使用库函数toHexString将长整数转换为其对应的十六进制数。

// Java Program to Illustrate the Usage of HexaDecimal by converting a hexadecimal value into long value
import java.io.*;
public class HexToLong {
    // Main method
    public static void main(String[] args) {
        // Hexadecimal number to be converted
        String hs = "7850";
        // passing hs and base 16 as parameters
        //  to parseLong function
        long l = Long.parseLong(hs, 16);
        // Displaying the corresponding hexadecimal value
        System.out.println("Corresponding Long value of hexadecimal no. " +hs+ " is " + l);
    }
}

输出

Corresponding Long value of hexadecimal no. 7850 is 30800

此程序旨在演示十六进制数系统的运行方式。这里,一个十六进制数被赋给一个变量,并使用库函数Long.parseLong将其转换为其对应的长整数。

本文阐述了在Java中使用十六进制的方法。我们演示了十六进制值的四种用法,并通过五个不同的实现来理解其用法。

更新于:2023年8月11日

196 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告