Java 十六进制到二进制转换

17 Mar 2025 | 4 分钟阅读

在编程中,将一种类型转换为另一种类型(或从另一种类型转换)是一项关键任务。有时我们需要将一种类型转换为另一种类型。在Java 转换部分,我们已经讨论了各种类型的转换。在本节中,我们将讨论如何将十六进制转换为二进制

十六进制数

顾名思义,十六进制数包含 16 个实体,其中 10 个数字(0-9)代表前 10 个十六进制数,其余六个实体由 A 到 F 表示(代表数字 10 到 15)。请注意,十六进制系统中的最小数字是 0,最大数字是 15,用 F 表示。它的基数是 16。

Java Hexadecimal to Binary Conversion

十六进制到二进制转换

为了将任何十六进制数转换为其二进制等效数,我们必须遵循以下步骤:

  1. 首先,将每个十六进制数字转换为其 4 位二进制等效数
  2. 组合所有 4 位二进制等效数

下表描述了十六进制数及其对应的二进制等效数。

十六进制字符等效二进制值
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
A1010
B1011
C1100
D1101
E1110
F1111

让我们通过一个例子来理解。

示例

假设我们要将 AFB2 转换为其二进制等效数。

让我们看一下下面的表格,它显示了上述十六进制数到其二进制等效数的转换。

十六进制数字4 位二进制等效数
A1010
D1101
E1110
20010

从上图可以看出,我们有四个 4 位二进制等效数,第一个是 1010,第二个是 1111,第三个是 1011,第四个是 0010。将所有四个 4 位二进制数组合起来,我们得到 101010111100010。因此,(AFB2)16 = (101010111100010)2

Java 将二进制转换为十六进制的程序

HexadecimalToBinary1.java

输出

Enter the number: ab6da
Binary Value is: 10101011011011011010

让我们看看另一种方法。

使用 Switch Case

HexadecimalToBinary2.java

输出

Enter the Hexadecimal Number: 2da
Equivalent Binary Value = 001011011010

让我们看看另一种方法。

在此方法中,我们首先将常量 LONG_BITS 初始化为 8。它定义了 8 位长的二进制数。之后,我们定义了一个名为 conversion() 的方法。在此方法中,我们调用了 Integer.parseInt() 方法。

语法

该方法接受一个包含要解析的整数表示的字符串和一个基数(用于解析 s)。它返回指定基数中由字符串参数表示的整数。如果字符串不包含可解析的 int,它将抛出 NumberFormatException

我们调用的另一个方法是 Integer toBinaryString() 方法

语法

该方法接受一个要转换为字符串的整数。它以二进制形式返回整数参数的无符号整数表示形式。

HexadecimalToBinary3.java

输出

11 = 00010001
AD = 10101101
F4 = 11110100
BA = 10111010
AA = 10101010
AA = 10101010
13 = 00010011
01 = 00000001
02 = 00000010
03 = 00000011