Digital-electronics 简明教程

Digital Electronics - Hexadecimal Arithmetic

What is Hexadecimal Arithmetic?

在数字电子中,十六进制数用于以更紧凑形式表示二进制信息,因为一位十六进制数字可以表示一组 4 位二进制数字。因此,十六进制数和对它们执行的算术运算在数字电子领域中扮演着至关重要的角色。

十六进制算术是一种允许对十六进制或基数为 16 的数字进行加法、减法、乘法和除法等算术运算的数学系统。

在本章中,我们将涵盖以下四个基本的十六进制算术运算:

  1. Hexadecimal Addition

  2. Hexadecimal Subtraction

  3. Hexadecimal Multiplication

  4. Hexadecimal Division

让我们借助示例详细了解每个十六进制算术运算。

Hexadecimal Addition

十六进制加法是对十六进制数执行的基本算术运算之一,用于确定它们的和。基本上,十六进制加法类似于十进制加法。但在十六进制加法中,如果和大于或等于 16,则会产生向较高位进位的情况。

让我们看一些已解决的示例,以更好地理解十六进制加法。

Example 1

对 (5A)16 和 (BF)16 求和。

Solution

对给定十六进制数的加法如下所示:

(5A)16 + (BF)16 = (119)16

hexadecimal addition

Explanation

从最右列开始对十六进制数字求和:A + F = 10 + 15 = 25 = 16 + 9。此处,16 形成进位到下一列。因此,和为 9,并有 1 进位到下一列。

移到下一列,并对数字加上进位求和:5 + B + 1 = 5 + 11 + 1 = 17 = 16 + 1。此处,16 形成进位到下一列。因此,和为 1,并有进位 1。没有剩余的数字,因此进位也将写为和中最高位数字。

因此,5A 和 BF 的十六进制和为 119。

Example 2

对 (ABC)16 和 (2A9)16 求和。

Solution

给定数字的十六进制和如下所示:

(ABC)16 + (2A9)16 = (D65)16

hexadecimal addition numbers

Explanation

从从最右列开始对数字求和:C + 9 = 12 + 9 = 21 = 16 + 1。此处,16 形成进位。因此,和为 1,并有进位 1。

移到下一列,并对数字加上上一步的进位求和:B + A + 1 = 11 + 10 + 1 = 22 = 16 + 6。因此,和为 6,并有进位 1 到下一列。

移到最高位列,并对数字加上上一步的进位求和:A + 2 + 1 = 10 + 2 + 1 = 13。由于和为 13,小于 16,因此不会产生进位。在十六进制数系统中,13 用字母 D 表示。

因此,ABC 和 2A9 的十六进制和 = D65。

以上内容关于十六进制加法,涉及按列相加给定十六进制数字的数字。在执行十六进制加法时需要记住的最重要一点是,当特定列中的和大于或等于 16(即十六进制数字系统的基数)时,会将进位生成到下一列。

Hexadecimal Subtraction

十六进制减法是对十六进制数字执行的一项基本算术运算,用于确定它们之间的差。

十六进制减法类似于十进制减法。唯一的区别在于十六进制减法中,当被减数数字小于减数数字时,将从较高的列数位中借用 1,相当于 16。

让我们借助已解决的示例来理解十六进制减法。

Example 1

从 (A57)16 中减去 (125)16。

Solution

给定十六进制数字的减法如下所示 −

(A57)16 - (125)16 = (932)16

hexadecimal subtraction

Explanation

从最右侧列开始减去十六进制数字:7 – 5 = 2。写下结果。

移至下一列并减去数字:5 – 2 = 3。将数字 3 写为差。

移至最左侧列并减去数字:A – 1 = 10 – 1 = 9。将结果写为差。

因此,A57 和 125 的十六进制差为 932。

Example 2

从 (BC5)16 中减去 (1DA)16。

Solution

BC5 和 1DA 的十六进制减法如下所示 −

(BC5)16 - (1DA)16 = (9EB)16

hexadecimal subtraction numbers

Explanation

从最右侧列的数字开始减去:5 – A。由于 5 小于 A(10),因此我们必须从高一级数字中借用。从下一列 © 借用后,数字 5 将变为 5 + 16(因为 16 等于借用 1)= 21。因此,21 – A = 11 (B)。将 B 写为差。

移至下一列并减去数字:B – D。同样,B 小于 D,因此我们从高位数字 B 中借用。借用后,B 将变为 B + 16 = 27。因此,27 – D = 14 (E)。将数字 E 写为差。

移至最左侧列并减去数字:A – 1 = 9。写下结果。

因此,BC5 和 1DA 的十六进制差等于 9EB。

这些示例解释了减去两个十六进制数的过程。现在让我们讨论一下十六进制数的第三个基本算术运算,即十六进制乘法。

Hexadecimal Multiplication

十六进制乘法是一种用于确定两个十六进制数乘积的算术运算。

十六进制乘法类似于十进制乘法。但是,在十六进制乘法的例子中,当乘积大于或等于 16 时,将产生向下一位的进位。

以下示例说明了两个十六进制数相乘的过程。

Example 1

将 (A19)16 乘以 (B)16。

Solution

所给十六进制数的乘积如下所示 −

(A19)16 乘以 (B)16 = (6F13)16

hexadecimal multiplication

Explanation

将数字 (B)16 与数字 (A19)16 的每位数相乘并写下结果。

首先,我们将 B 乘以 9,得到 99 = 96 + 3。因此,3 写为乘积,96 写为进位 6(16 × 6 = 96)至下一位。

然后,我们将 B 乘以 1 并将进位 6 加到乘积中。它得到 17 = 16 + 1。这里,结果是 1,进位是 1。

最后,我们将 B 乘以 A 并将从上一步得到的进位 1 加到乘积中。它得到 96 + 15(十六进制中的 F)。结果是 F,进位是 6。

因此,A19 和 B 的最终十六进制乘积为 6F13。

Example 2

将 (ABC)16 乘以 (29)16。

Solution

所给十六进制数的乘积如下所示 −

(ABC)16 乘以 (29)16 = (1B81C)16

hexadecimal multiplication numbers

Explanation

在此示例中,我们首先将第二个数字 (29)16 的数字 (9)16 乘以数字 (ABC)16 的每一位数字。写下部分乘积。

然后,我们将数字 (29)16 的数字 (2)16 乘以数字 (ABC)16 的每一位数字。将部分乘积向左移动一位写下来。

最后,我们将所有部分乘积相加得到最终结果。

因此,(ABC)16 和 (29)16 的十六进制乘积为 (1B81C)16。

Hexadecimal Division

十六进制除法是我们在基数为 16 的数上执行的第四个基本算术运算。在十六进制除法中,我们得到两个结果,即商和余数。

执行十六进制除法需遵循以下步骤−

  1. Step 1 − 从被除数的最左边的数字开始除。

  2. Step 2 − 将所得到的商乘以除数,并从被除数中减去。

  3. Step 3 − 取被除数的下一个有效数字或一组数字。

  4. Step 4 − 重复上述三步中所解释的过程,直至使用被除数中的所有数字。

以下示例演示执行十六进制除法的过程。

Example 1

将 (A29)16 除以 (5)16。

Solution

A29 除以 5 的十六进制除法如下所示 −

hexadecimal division

在此十六进制除法中,我们得到了商 (208)16 和余数 (1)16。

Example 2

将 (1AC)16 除以 (A)16。

Solution

给定数字的十六进制除法如下所示 −

hexadecimal division numbers

在此示例中,我们得到了商 (2A)16 和余数 (8)16。

我们解释了执行十六进制算术运算的直接方法。现在,让我们看看如何通过二进制算术执行所有这四个十六进制算术运算。

正如我们所知,每个十六进制数字可以表示为一组四位二进制数,如下表所示。

Hexadecimal

Binary

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

A

1010

B

1011

C

1100

D

1101

E

1110

F

1111

现在,让我们通过二进制转换讨论十六进制算术运算。

Hexadecimal Addition Through Binary Conversion

在此方法中,通过二进制转换添加两个十六进制数字时,我们首先将它们转换为相应的二进制格式,然后使用二进制算术规则添加二进制数字,最后将最终结果转换回十六进制格式。

以下示例演示通过二进制转换进行十六进制加法的过程。

Example

通过二进制转换添加 (A5C)16 和 (CCD)16。

Solution

将给定的十六进制数字转换为其二进制等价物,

(A5C)16 = (1010 0101 1100)2

(CCD)16 = (1100 1100 1101)2

将获得的二进制数相加,

hexadecimal addition binary conversion

最后,将二进制和转换成其等效的十六进制格式以获得最终结果。

(0001 0111 0010 1001)2 = (1729)16

因此,(A5C)16 和 (CCD)16 的十六进制和是 (1729)16。

Hexadecimal Subtraction Through Binary Conversion

要通过二进制转换来减去两个十六进制数,我们首先将给定的十六进制数转换成它们的二进制等效。然后,按照二进制算术规则减去它们。最后,将最终结果转换回十六进制格式。

以下是一个通过二进制转换展示十六进制减法过程的示例。

Example

使用二进制算术从 (FEA)16 中减去 (AC2)16。

Solution

将给定的十六进制数字转换为其二进制等价物,

(FEA)16 = (1111 1110 1010)2

(AC2)16 = (1010 1100 0010)2

减去获得的二进制数,

subtracting binary numbers

将差值转换回十六进制以获得最终结果,

(0101 0010 1000)2 = (528)16

因此,(FEA)16 和 (AC2)16 的十六进制差是 (528)16。

Hexadecimal Multiplication Through Binary Conversion

我们还可以通过将两个十六进制数转换为其二进制等价来相乘。为此,我们首先将给定的十六进制数转换为它们的二进制等价,然后按照二进制算术规则相乘二进制数,并将结果转换回十六进制以获得最终结果。

以下示例展示了通过二进制转换乘以十六进制数的过程。

Example

通过二进制转换将 (A9C)16 乘以 (B)16。

Solution

将给定的十六进制数转换为其等效的二进制,

(A9C)16 = (1010 1001 1100)2

(B)16 = (1011)2

二进制数相乘,

hexadecimal multiplication binary conversion

将结果转换为十六进制格式,

(0111 0100 1011 0100)2 = (74B4)16

因此,A9C和B的十六进制乘积为74B4。

Hexadecimal Division Through Binary Conversion

十六进制除法也可以使用二进制运算进行。此方法中,首先将给定的十六进制数转换为其二进制等价物,然后再按照二进制除法的规则对其进行除法。最后,我们将结果从二进制格式转换为十六进制以获得最终结果。

让我们借助一个示例了解使用二进制运算的十六进制除法。

Example

使用二进制运算将(AB8)16除以(A)16。

Solution

将给定的十六进制数字转换为其二进制等价物,

(AB8)16 = (1010 1011 1000)2

(A)16 = (1010)2

对所得二进制数进行除法,

dividing binary numbers

将商和余数转换为十六进制,

商 = (0001 0001 0010)2 = (112)16

余数 = (0100)2 = (4)16

Conclusion

在本章中,我们解释了十六进制数的四种基本算术运算(加法、减法、乘法和除法)。我们还讨论了十六进制算术运算的二进制方法。