为什么“1010 0000”不是有效的BCD表示?

时间:2016-07-27 16:01:13

标签: bcd

我在“编程Z80”一书中遇到过这个问题,这是一个没有回答的练习题。

1 个答案:

答案 0 :(得分:3)

因为您尝试用二进制数表示十进制值。您只能使用0到9之间的数字表示。

有效的BCD 4位块:

0000 - 0
0001 - 1
0010 - 2
0011 - 3
0100 - 4
0101 - 5
0110 - 6
0111 - 7
1000 - 8
1001 - 9

无效的BCD 4位块:

1010 - 10
1011 - 11
1100 - 12
1101 - 13
1110 - 14
1111 - 15

示例:

0101 0011 - 53
1001 0111 - 97
1000 1001 0100 - 894
1010 0000 - (10)0 // We can't represent 10 in a single decimal digit

值10到15在BCH(binary coded hexadecimal)上下文中有效。之前的无效示例将导致如下所示:

1010 0000 - A0