📜  代码转换器 – BCD(8421) 到/从 Excess-3

📅  最后修改于: 2021-09-27 15:12:24             🧑  作者: Mango

先决条件 –数字系统和基数转换

Excess-3 二进制码是一种未加权的自补BCD 码。
自补性质是指,3 余数的 1 的补码是对应十进制数的 9 的补码的余 3 码。这个属性很有用,因为十进制数可以很容易地进行 9 的补码(用于减法),就像二进制数可以进行 1 的补码一样;只需反转所有位。
例如,3(0011) 的余数 3 码是 0110,要找到 3 的补码的余数 3 码,我们只需要找到 0110 -> 1001 的 1 的补码,这也是余数 3 3 -> (9-3) = 6 的 9 的补码的代码。

将 BCD(8421) 转换为 Excess-3 –

顾名思义,BCD 数字可以通过简单地添加 3 来转换为其相应的 Excess-3 代码。
A,\:B,\:C,\:and\:D是表示二进制数的位,其中D是 LSB 和A是 MSB,并且
w,\:x,\:y,\:and\:z是表示二进制数的格雷码的位,其中z是 LSB 和w是 MSB。
下面给出了转换的真值表。 X 的标记不关心条件。
 \begin{tabular}{||c|c|c|c||c|c|c|c||} \hline  \multicolumn{4}{||c||}{BCD(8421)} & \multicolumn{4}{|c||}{Excess-3}\\ \hline  A & B & C & D & w & x & y & z \\ \hline \hline  0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 \\  \hline  0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 \\  \hline  0 & 0 & 1 & 0 & 0 & 1 & 0 & 1 \\  \hline  0 & 0 & 1 & 1 & 0 & 1 & 1 & 0 \\  \hline \hline  0 & 1 & 0 & 0 & 0 & 1 & 1 & 1 \\  \hline  0 & 1 & 0 & 1 & 1 & 0 & 0 & 0 \\  \hline  0 & 1 & 1 & 0 & 1 & 0 & 0 & 1 \\  \hline  0 & 1 & 1 & 1 & 1 & 0 & 1 & 0 \\  \hline \hline  1 & 0 & 0 & 0 & 1 & 0 & 1 & 1 \\  \hline  1 & 0 & 0 & 1 & 1 & 1 & 0 & 0 \\  \hline  1 & 0 & 1 & 0 & X & X & X & X \\  \hline  1 & 0 & 1 & 1 & X & X & X & X \\  \hline \hline  1 & 1 & 0 & 0 & X & X & X & X \\  \hline  1 & 1 & 0 & 1 & X & X & X & X \\  \hline  1 & 1 & 1 & 0 & X & X & X & X \\ \hline  1 & 1 & 1 & 1 & X & X & X & X \\ \hline \hline \end{tabular}
为了找到相应的数字电路,我们将使用 K-Map 技术将每个 Excess-3 代码位作为输出,并将 BCD 数的所有位作为输入。

35777

对应于 Excess-3 代码位的最小化布尔表达式 –
 w = A+BC+BD\\ x = B^\prime C + B^\prime D +BC^\prime D^\prime\\ y = CD + C^\prime D^\prime \\ z = D^\prime
对应的数字电路——

将多余 3 转换为 BCD(8421) –

可以以相同的方式将多余的 3 代码转换回 BCD。
A,\:B,\:C,\:and\:D是表示二进制数的位,其中D是 LSB 和A是 MSB,并且
w,\:x,\:y,\:and\:z是表示二进制数的格雷码的位,其中z是 LSB 和w是 MSB。
下面给出了转换的真值表。 X 的标记不关心条件。
 \begin{tabular}{||c|c|c|c||c|c|c|c||} \hline  \multicolumn{4}{||c||}{Excess-3} & \multicolumn{4}{|c||}{BCD}\\ \hline  w & x & y & z & A & B & C & D \\ \hline \hline  0 & 0 & 0 & 0 & X & X & X & X \\  \hline  0 & 0 & 0 & 1 & X & X & X & X \\  \hline  0 & 0 & 1 & 0 & X & X & X & X \\  \hline  0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\  \hline \hline  0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 \\  \hline  0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 \\  \hline  0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 \\  \hline  0 & 1 & 1 & 1 & 0 & 1 & 0 & 0 \\  \hline \hline  1 & 0 & 0 & 0 & 0 & 1 & 0 & 1 \\  \hline  1 & 0 & 0 & 1 & 0 & 1 & 1 & 0 \\  \hline  1 & 0 & 1 & 0 & 0 & 1 & 1 & 1 \\  \hline  1 & 0 & 1 & 1 & 1 & 0 & 0 & 0 \\  \hline \hline  1 & 1 & 0 & 0 & 1 & 0 & 0 & 1 \\  \hline  1 & 1 & 0 & 1 & X & X & X & X \\  \hline  1 & 1 & 1 & 0 & X & X & X & X \\ \hline  1 & 1 & 1 & 1 & X & X & X & X \\ \hline \hline \end{tabular}
D-的K-Map

C-的K-Map

B-的K-Map

A-的K-Map

Excess-3 代码位对应的最小化布尔表达式 –
 A = wx+wyz\\ B = x^\prime y^\prime + x^\prime z^\prime +xyz\\ C = y^\prime z+ yz^\prime \\ D = z^\prime
对应的数字电路——
这里E_3,\:E_2,\:E_1,\:and\:E_0相当于w,\:x,\:y,\:and\:zB_3,\:B_2,\:B_1,\:and\:B_0相当于A,\:B,\:C,\:and\:D .

过量 3 到 BCD

参考-

数字设计,第 5 版,Morris Mano 和 Michael Ciletti
过量 3 – 维基百科