6

我在这里有一个主题来自“计算机组织与体系结构简介”主题中的“数字系统”

然后我遇到了这个话题,“自我补充代码”

它有3个部分,如下所示:

i)Excess-3(我理解这部分,因为它要求我们将 3 添加到 BCD)

ii)84-2-1(我不明白)

iii)2*421(我不明白)

我希望有人可以解释第二部分和第三部分的工作原理。

非常感谢。

4

2 回答 2

11

我认为 Morris Mano 的“数字设计”一书的这一部分将回答您的问题:

BCD 和 2421 代码是加权代码的示例。在加权代码中,每个比特位置都被分配了一个加权因子,使得每个数字都可以通过添加编码组合中所有 1 的权重来评估。

十进制数字的四种不同二进制代码
_____________________________________________________________
十进制     BCD          2421        Excess‐3    8, 4, -2, -1
数字      8421
_____________________________________________________________
 0 0000 0000 0011 0000
 1 0001 0001 0100 0111
 2 0010 0010 0101 0110
 3 0011 0011 0110 0101
 4 0100 0100 0111 0100
 5 0101 1011 1000 1011
 6 0110 1100 1001 1010
 7 0111 1101 1010 1001
 8 1000 1110 1011 1000
 9 1001 1111 1100 1111
_____________________________________________________________
            1010 0101 0000 0001
 未使用 1011 0110 0001 0010
 位 1100 0111 0010 0011
 组合 - 1101 1000 1101 1100
 国家 1110 1001 1110 1101
            1111 1010 1111 1110

2421、excess-3 和 84-2-1 码是自补码的示例。此类代码具有这样的特性,即通过将 1 变为 0 和将 0 变为 1(即,通过对模式中的每个位进行补码)直接获得十进制数的 9 补码。例如,十进制 395 在超 3 代码中表示为 0110 1100 1000。604 的 9 的补码表示为 1001 0011 0111,只需将代码的每一位补码即可获得(与二进制数的 1 补码一样) )。

数字设计-第五版-莫里斯·马诺

于 2015-02-03T21:20:53.653 回答
5

首先,84-2-1 和 2421 代码是“加权代码”和“自补代码”(因为代码自补的必要条件是其所有权重的总和必须等于 9) 即 84-2-1(8+4-2-1=9) 和 2421(2+4+2+1=9)。
因此,构建数字的十进制的二进制等效项需要确保一件事:
数字的代码和它的 9 的补码应该有互补关系(即数字和它的 9 的补码是彼此的补码)

例如,让我们以 84-2-1 系统为例。

十进制 0=0000(在 84-2-1 系统中)和(0=9 的 9 补码)比 9(在 84-2-1 中)应该有 1111。因此 0 及其 9 的补码即 9 保持它们的自补关系.

让我们再举一个例子:

十进制 1=0111(在 84-2-1 系统中)和(9 的补码 1=8 )这意味着(84-2-1)相当于 8 应该是 1000,因此数字及其补码再次保持它们的自互补关系。

同样,在 2421 系统中,您只需确保数字及其 9 的补码应该保持它们的自补关系来构造代码。

于 2014-11-28T02:37:44.210 回答