二進碼十進數
维基百科,自由的百科全书
二進碼十進數(Binary-Coded Decimal,簡稱BCD,大陆称BCD码或二-十进制编码)是一種二進制的數字編碼形式。這種編碼形式利用了四個位元來儲存一個十進位的數碼,使二進制和十進制之間的轉換得以快捷的進行。這種編碼技巧,最常用於會計系統的設計裡,因為會計制度經常需要對很長的數字串作準確的計算。相對於一般的浮點式記數法,採用BCD碼,既可保存數值的精確度,又可免卻使電腦作浮點運算時所耗費的時間。此外,對於其他需要高精確度的計算,BCD編碼亦很常用。
[编辑] 常用BCD編碼方式
最常用的BCD編碼,就是使用"0"至"9"這十個數值的二進碼來表示。這種編碼方式,在中國大陸稱之為"8421碼"。除此以外,對應不同需求,各人亦開發了不同的編碼方法,以適應不同的需求。這些編碼,大致可以分成有權碼和無權碼兩種:
- 有权码,如:8421(最常用)、2421、5421…
- 无权码,如:餘3码、格雷码…
以下為三種常見的BCD編碼的比較。
十進數 | 8421-BCD碼 | 餘3-BCD碼 | 2421-A碼 |
---|---|---|---|
(M10) | D C B A | C3 C2 C1 C0 | a3 a2 a1 a0 |
0 | 0 0 0 0 | 0 0 1 1 | 0 0 0 0 |
1 | 0 0 0 1 | 0 1 0 0 | 0 0 0 1 |
2 | 0 0 1 0 | 0 1 0 1 | 0 0 1 0 |
3 | 0 0 1 1 | 0 1 1 0 | 0 0 1 1 |
4 | 0 1 0 0 | 0 1 1 1 | 0 1 0 0 |
5 | 0 1 0 1 | 1 0 0 0 | 0 1 0 1 |
6 | 0 1 1 0 | 1 0 0 1 | 0 1 1 0 |
7 | 0 1 1 1 | 1 0 1 0 | 0 1 1 1 |
8 | 1 0 0 0 | 1 0 1 1 | 1 1 1 0 |
9 | 1 0 0 1 | 1 1 0 0 | 1 1 1 1 |