我的主题是“数字系统”,主题是“计算机组织与架构简介”
然后我遇到了这个话题,“自我补充代码”
它有3个部分如下:
i)Excess-3(我理解这一部分,因为它要求我们在BCD上加3)
ii)84-2-1(我不明白)
iii)2 * 421(我不明白)
我希望有人可以解释第ii和第2部分的内容。 iii工作。
非常感谢。
答案 0 :(得分:7)
我认为" Digital Design"莫里斯马诺的书将回答你的问题:
BCD和2421代码是加权代码的示例。在加权代码中,每个位 为位置分配一个加权因子,使得每个数字都可以通过评估 在编码组合中添加所有1的权重。
Four Different Binary Codes for the Decimal Digits _____________________________________________________________ Decimal BCD 2421 Excess‐3 8, 4, -2, -1 Digit 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 Unused 1011 0110 0001 0010 bit 1100 0111 0010 0011 combi- 1101 1000 1101 1100 nations 1110 1001 1110 1101 1111 1010 1111 1110
2421,多余-3和84-2-1代码是自补码的例子。这样 代码具有获得十进制数的9的补码的属性 直接将1改为0,将0改为1(即通过补充模式中的每个位)。例如,十进制395在过量-3代码中表示为0110 1100 1000。 604的9的补码表示为1001 0011 0111,这是简单地获得的 通过补充代码的每一位(与1的二进制数的补码一样)。
数字设计 - 第五版 - 莫里斯马诺
答案 1 :(得分:4)
首先是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系统中)& (9 = 0 = 9的补码)比9(84-2-1)应该有1111.因此0&其9的补充,即9维持自我补充关系。
让我们再看一个例子:
十进制1 = 0111(在84-2-1系统中)& (9 = 1 = 8的补码)暗示(84-2-1)相当于8应该是1000,因此数字&它的补充保持了它们的自我互补关系。
同样,在2421系统中,您需要通过确保数字及其9的补码应该保持其自我补充关系来构建代码。