数字电路 - 快速指南
数字电路 - 数字系统
如果数字系统的基数或基数是“r”,则该数字系统中存在的数字范围从零到r-1。该数字系统中存在的总数是“r”。因此,通过选择大于或等于 2 的基数值,我们将得到各种数字系统。
在本章中,我们将讨论流行的数字系统以及如何在相应的数字系统中表示数字。以下数字系统是最常用的。
- 十进制
- 二进制数系统
- 八进制
- 十六进制数系统
十进制
十进制数系统的底数或基数是10。因此,在这个数字系统中使用从0到9的数字。数字中位于小数点左侧的部分称为整数部分。同样,数字中位于小数点右侧的部分称为小数部分。
在这个数字系统中,小数点左边的连续位置的权重为 10 0、 10 1、 10 2、 10 3等。类似地,小数点右侧的连续位置的权重为10 -1、10 -2、10 -3等。这意味着,每个位置都有特定的权重,即以 10 为底的幂
例子
考虑十进制数 1358.246。该数字的整数部分是 1358,该数字的小数部分是 0.246。数字8、5、3和1的权重分别为100、101、10 2和10 3。类似地,数字2、4和6的权重分别为10 -1、10 -2和10 -3。
从数学上来说,我们可以将其写为
1358.246 = (1 × 10 3 ) + (3 × 10 2 ) + (5 × 10 1 ) + (8 × 10 0 ) + (2 × 10 -1 ) +
(4×10 -2 ) + (6×10 -3 )
简化右侧项后,我们将得到左侧的小数。
二进制数系统
所有数字电路和系统都使用这种二进制数字系统。该数字系统的底数或基数是2。因此,在这个数字系统中使用数字 0 和 1。
位于二进制小数点左侧的数字部分称为整数部分。同样,位于二进制小数点右侧的数字部分称为小数部分。
在此数字系统中,二进制小数点左侧的连续位置的权重为 2 0、 2 1、 2 2、 2 3等。类似地,二进制小数点右侧的连续位置的权重为 2 -1、2 -2、2 -3等。这意味着,每个位置都有特定的权重,即底数 2 的幂。
例子
考虑二进制数 1101.011。该数字的整数部分是 1101,该数字的小数部分是 0.011。整数部分的数字1、0、1和1的权重分别为2 0、2 1、2 2、2 3 。类似地,小数部分的数字0、1和1的权重分别为2 -1、2 -2、2 -3。
从数学上来说,我们可以将其写为
1101.011 = (1 × 2 3 ) + (1 × 2 2 ) + (0 × 2 1 ) + (1 × 2 0 ) + (0 × 2 -1 ) +
(1 × 2 -2 ) + (1 × 2 -3 )
化简右边的项后,我们将得到一个十进制数,它相当于左边的二进制数。
八进制
八进制数系统的基数是8。因此,在这个数字系统中使用从0到7的数字。位于八进制小数点左侧的数字部分称为整数部分。同样,位于八进制小数点右侧的数字部分称为小数部分。
在这个数字系统中,八进制小数点左侧的连续位置的权重为 8 0、 8 1、 8 2、 8 3等。类似地,八进制小数点右侧的连续位置的权重为 8 -1、 8 -2、 8 -3等。也就是说,每个位置都有特定的权重,即底数8的功率。
例子
考虑八进制数 1457.236。该数字的整数部分是 1457,该数字的小数部分是 0.236。数字 7、5、4 和 1 的权重分别为 8 0、8 1、8 2和 8 3 。类似地,数字2、3和6的权重分别为8 -1、8 -2、8 -3。
从数学上来说,我们可以将其写为
1457.236 = (1 × 8 3 ) + (4 × 8 2 ) + (5 × 8 1 ) + (7 × 8 0 ) + (2 × 8 -1 ) +
(3 × 8 -2 ) + (6 × 8 -3 )
简化右侧项后,我们将得到一个十进制数,它相当于左侧的八进制数。
十六进制数系统
十六进制数系统的底数或基数是16。因此,该数字系统使用从 0 到 9 的数字和从 A 到 F 的字母。从 A 到 F 的十六进制数字的十进制相当于 10 到 15。
位于十六进制小数点左侧的数字部分称为整数部分。同样,位于十六进制小数点右侧的数字部分称为小数部分。
在此数字系统中,十六进制小数点左侧的连续位置的权重为 16 0、 16 1、 16 2、 16 3等。类似地,十六进制小数点右侧的连续位置的权重为 16 -1、 16 -2、 16 -3等。也就是说,每个位置都有特定的权重,即底座16的功率。
例子
考虑十六进制数 1A05.2C4。该数字的整数部分是1A05,该数字的小数部分是0.2C4。数字 5、0、A 和 1 的权重分别为 16 0、16 1、16 2和 16 3。类似地,数字2、C和4的权重分别为16 -1、16 -2和16 -3。
从数学上来说,我们可以将其写为
1A05.2C4 = (1 × 16 3 ) + (10 × 16 2 ) + (0 × 16 1 ) + (5 × 16 0 ) + (2 × 16 -1 ) +
(12×16 -2 ) + (4×16 -3 )
简化右侧项后,我们将得到一个十进制数,它相当于左侧的十六进制数。
数字电路 - 基本转换
在前面的章节中,我们已经了解了四种著名的数字系统。在本章中,让我们将数字从一种数字系统转换为另一种数字系统,以便找到等效值。
十进制数到其他进制的转换
如果小数同时包含整数部分和小数部分,则将小数部分分别转换为其他基数。按照以下步骤将十进制数转换为任何基数“r”的等效数。
将十进制数的整数部分和连续商以基数“r”相除,并记下余数,直到商为零。以相反的顺序考虑余数以获得基数“r”的等效数的整数部分。这意味着,第一个和最后一个余数分别表示最低有效数字和最高有效数字。
将小数的小数部分和连续分数与基数“r”相乘,并记下进位,直到结果为零或获得所需的等效位数。考虑正常的进位序列,以获得基数“r”的等效数的小数部分。
十进制到二进制转换
将十进制数转换为其等效的二进制数时,会发生以下两种类型的运算。
- 整数部分和以 2 为底的连续商的除法。
- 小数部分和连续分数以 2 为底的乘法。
例子
考虑十进制数 58.25。这里,整数部分是58,小数部分是0.25。
步骤 1 - 58 和以 2 为底的连续商相除。
手术 | 商 | 余 |
---|---|---|
58/2 | 29 | 0(最低有效位) |
29/2 | 14 | 1 |
14/2 | 7 | 0 |
7/2 | 3 | 1 |
3/2 | 1 | 1 |
1/2 | 0 | 1(最高有效位) |
⇒(58) 10 = (111010) 2
因此,等效二进制数的整数部分为111010。
步骤 2 - 0.25 和连续分数与底数 2 相乘。
手术 | 结果 | 携带 |
---|---|---|
0.25×2 | 0.5 | 0 |
0.5×2 | 1.0 | 1 |
- | 0.0 | - |
⇒(.25) 10 = (.01) 2
因此,等效二进制数的小数部分为.01
⇒(58.25) 10 = (111010.01) 2
因此,十进制数 58.25 的二进制等效值为111010.01。
十进制到八进制转换
将十进制数转换为其等效的八进制数时,会发生以下两种类型的运算。
整数部分和以 8 为底的连续商的除法。
小数部分和连续分数以 8 为底的乘法。
例子
考虑十进制数 58.25。这里,整数部分是58,小数部分是0.25。
步骤 1 - 58 和以 8 为底的连续商相除。
手术 | 商 | 余 |
---|---|---|
58/8 | 7 | 2 |
7/8 | 0 | 7 |
⇒(58) 10 = (72) 8
因此,等效八进制数的整数部分是72。
步骤 2 - 0.25 和以 8 为底的连续分数相乘。
手术 | 结果 | 携带 |
---|---|---|
0.25×8 | 2.00 | 2 |
- | 0.00 | - |
⇒ (.25) 10 = (.2) 8
因此,等效八进制数的小数部分为 .2
⇒ (58.25) 10 = (72.2) 8
因此,十进制数 58.25 的八进制等效值为72.2。
十进制到十六进制转换
将十进制数转换为其等效的十六进制数时,会发生以下两种类型的运算。
- 整数部分和以 16 为底的连续商的除法。
- 小数部分和连续分数以 16 为底的乘法。
例子
考虑十进制数 58.25。这里,整数部分是58,小数部分是0.25。
步骤 1 - 58 和以 16 为底的连续商相除。
手术 | 商 | 余 |
---|---|---|
58/16 | 3 | 10=一个 |
3/16 | 0 | 3 |
⇒ (58) 10 = (3A) 16
因此,等效的十六进制数的整数部分是3A。
步骤 2 - 0.25 和以 16 为底的连续分数相乘。
手术 | 结果 | 携带 |
---|---|---|
0.25×16 | 4.00 | 4 |
- | 0.00 | - |
⇒(.25) 10 = (.4) 16
因此,等效的十六进制数的小数部分为 0.4。
⇒(58.25) 10 = (3A.4) 16
因此,十进制数 58.25 的十六进制等效值为3A.4。
二进制数到其他进制的转换
将数字从二进制转换为十进制的过程与将二进制数转换为其他基数的过程不同。现在我们就来一一讨论一下二进制数到十进制、八进制和十六进制的转换。
二进制到十进制转换
要将二进制数转换为其等效的十进制数,首先将二进制数的位与各自的位置权重相乘,然后将所有这些乘积相加。
例子
考虑二进制数 1101.11。
从数学上来说,我们可以将其写为
(1101.11) 2 = (1 × 2 3 ) + (1 × 2 2 ) + (0 × 2 1 ) + (1 × 2 0 ) + (1 × 2 -1 ) +
(1 × 2 -2 )
⇒ (1101.11) 2 = 8 + 4 + 0 + 1 + 0.5 + 0.25 = 13.75
⇒ (1101.11) 2 = (13.75) 10
因此,二进制数 1101.11 的十进制等效值为13.75。
二进制到八进制转换
我们知道二进制和八进制的基数分别是2和8。三位二进制数相当于一位八进制数,因为 2 3 = 8。
按照以下两个步骤将二进制数转换为其等效的八进制数。
从二进制小数点开始,将二进制小数点两边各3位组成一组。如果在组成 3 位组时少了一位或两位,则在最边包括所需数量的零。
写入每组 3 位对应的八进制数字。
例子
考虑二进制数 101110.01101。
步骤 1 - 在二进制小数点两侧创建 3 位组。
101 110.011 01
这里,在二进制小数点的右侧,最后一组只有 2 位。因此,在最末端包含一个零,以使其成为 3 位组。
⇒ 101 110.011 010
步骤 2 - 写入每组 3 位对应的八进制数字。
⇒ (101 110.011 010) 2 = (56.32) 8
因此,二进制数 101110.01101 的八进制等效值为56.32。
二进制到十六进制转换
我们知道二进制和十六进制的基数分别是2和16。四位二进制数相当于一位十六进制数字,因为 2 4 = 16。
按照以下两个步骤将二进制数转换为其等效的十六进制数。
从二进制小数点开始,将二进制小数点两边各4位组成一组。如果在组成 4 位组时某些位较少,则在最边包括所需数量的零。
写入每组 4 位对应的十六进制数字。
例子
考虑二进制数 101110.01101
步骤 1 - 在二进制小数点两侧创建 4 位组。
10 1110.0110 1
这里,第一组只有 2 位。因此,在最末端包含两个零,以使其成为 4 位组。类似地,在最末端包含三个零,以使最后一组也作为 4 位组。
⇒ 0010 1110.0110 1000
步骤 2 - 写入每组 4 位对应的十六进制数字。
⇒ (0010 1110.0110 1000) 2 = (2E.68) 16
因此,二进制数 101110.01101 的十六进制等效值为(2E.68)。
八进制数到其他进制的转换
将数字从八进制转换为十进制的过程与将八进制数转换为其他基数的过程不同。现在,我们就来一一讨论八进制到十进制、二进制和十六进制的转换。
八进制到十进制转换
要将八进制数转换为其等效的十进制数,首先将八进制数的数字与相应的位置权重相乘,然后将所有这些乘积相加。
例子
考虑八进制数 145.23。
从数学上来说,我们可以将其写为
(145.23) 8 = (1 × 8 2 ) + (4 × 8 1 ) + (5 × 8 0 ) + (2 × 8 -1 ) + (3 × 8 -2 )
⇒ (145.23) 8 = 64 + 32 + 5 + 0.25 + 0.05 = 101.3
⇒ (145.23) 8 = (101.3) 10
因此,八进制数 145.23 的十进制等效值为101.3。
八进制到二进制转换
将八进制数转换为等效的二进制数的过程与二进制到八进制转换的过程正好相反。通过用 3 位来表示每个八进制数字,我们将得到等效的二进制数。
例子
考虑八进制数 145.23。
每个八进制数字用 3 位表示。
(145.23) 8 = (001 100 101.010 011) 2
该值不会因删除最极端的零而改变。
⇒ (145.23) 8 = (1100101.010011) 2
因此,八进制数 145.23 的二进制等效值为 1100101.010011。
八进制到十六进制转换
按照以下两个步骤将八进制数转换为其等效的十六进制数。
- 将八进制数转换为其等效的二进制数。
- 将上述二进制数转换为其等效的十六进制数。
例子
考虑八进制数 145.23
在前面的示例中,我们得到八进制数 145.23 的二进制等效值 1100101.010011。
按照二进制到十六进制转换的过程,我们可以得到
(1100101.010011) 2 = (65.4C)16
⇒(145.23) 8 = (65.4C) 16
因此,八进制数 145.23 的十六进制等效值为65.4 C。
十六进制数到其他进制的转换
将数字从十六进制转换为十进制的过程与将十六进制数字转换为其他基数的过程不同。下面我们就来一一讨论一下十六进制数到十进制、二进制和八进制的转换。
十六进制到十进制转换
要将十六进制数转换为其等效的十进制数,首先将十六进制数的各位乘以各自的位置权重,然后将所有乘积相加。
例子
考虑十六进制数 1A5.2
从数学上来说,我们可以将其写为
(1A5.2) 16 = (1 × 16 2 ) + (10 × 16 1 ) + (5 × 16 0 ) + (2 × 16 -1 )
⇒ (1A5.2) 16 = 256 + 160 + 5 + 0.125 = 421.125
⇒ (1A5.2) 16 = (421.125) 10
因此,十六进制数 1A5.2 的十进制等效值是 421.125。
十六进制到二进制转换
将十六进制数转换为其等效的二进制数的过程与二进制到十六进制转换的过程正好相反。通过用 4 位来表示每个十六进制数字,我们将得到等效的二进制数。
例子
考虑十六进制数 65.4C
用 4 位表示每个十六进制数字。
(65.4℃) 6 = (0110 0101.0100 1100) 2
删除位于两端的零不会改变该值。
⇒ (65.4C) 16 = (1100101.010011) 2
因此,十六进制数 65.4C 的二进制等效值为1100101.010011。
十六进制到八进制转换
按照以下两个步骤将十六进制数转换为其等效的八进制数。
- 将十六进制数转换为其等效的二进制数。
- 将上面的二进制数转换为其等效的八进制数。
例子
考虑十六进制数 65.4C
在前面的示例中,我们得到了十六进制数 65.4C 的二进制等效值 1100101.010011。
按照二进制到八进制的转换过程,我们将得到
(1100101.010011) 2 = (145.23) 8
⇒(65.4C) 16 = (145.23)