我在这里有一个主题来自“计算机组织与体系结构简介”主题中的“数字系统”
然后我遇到了这个话题,“自我补充代码”
它有3个部分,如下所示:
i)Excess-3(我理解这部分,因为它要求我们将 3 添加到 BCD)
ii)84-2-1(我不明白)
iii)2*421(我不明白)
我希望有人可以解释第二部分和第三部分的工作原理。
非常感谢。
我在这里有一个主题来自“计算机组织与体系结构简介”主题中的“数字系统”
然后我遇到了这个话题,“自我补充代码”
它有3个部分,如下所示:
i)Excess-3(我理解这部分,因为它要求我们将 3 添加到 BCD)
ii)84-2-1(我不明白)
iii)2*421(我不明白)
我希望有人可以解释第二部分和第三部分的工作原理。
非常感谢。
我认为 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 补码一样) )。
数字设计-第五版-莫里斯·马诺
首先,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 的补码应该保持它们的自补关系来构造代码。