打造数字时钟:从二进制到十进制显示
1. 时钟项目简介
构建时钟是一个充满趣味的项目。不过,我们要打造的并非传统的老爷钟,而是数字时钟。它不用指针,而是用数字显示时、分、秒。最初版本的时钟甚至不会用常规十进制数字,而是用闪烁灯光以二进制形式显示时间。
2. 二进制编码十进制(BCD)
时间显示若包含秒和分,需要六个十进制数字,如 12:30:47。若用纯二进制表示这个时间,会是 1100 : 11110 : 101111,这种形式很难直观读取。所以,我们采用二进制编码十进制(BCD),即把每个十进制数字分别用四位二进制数表示。例如,12:30:47 用 BCD 表示就是 0001 0010 : 0011 0000 : 0100 0111。
以下是 BCD 与十进制的对应表:
| BCD | Decimal |
| — | — |
| 0000 | 0 |
| 0001 | 1 |
| 0010 | 2 |
| 0011 | 3 |
| 0100 | 4 |
| 0101 | 5 |
| 0110 | 6 |
| 0111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
BCD 只到 1001(十进制 9),其他组合无效。同样的二进制数 10011001,根据不同的编码方式,可能表示不同的数值:作为无符号整数是十进制 153,作为补码有符号整数是 -103,作为 BCD 则是 99。虽然 BCD 会使计算机内部的基本算术运算变复杂,但在显示十进制数字时,它常作为中间步骤。
超级会员免费看
订阅专栏 解锁全文

1万+

被折叠的 条评论
为什么被折叠?



