本页使用了标题或全文手工转换

二進碼十進數

维基百科,自由的百科全书
跳转至: 导航搜索

二進碼十進數英语Binary-Coded Decimal,簡稱BCD,大陆称BCD码二-十进制编码)是一種十进制的數字編碼形式。這種編碼下的每个十进制数字用一串单独的二进制位元來儲存表示。常见的有4位元表示1个十进制数字,称为压缩的BCD码(compressed or packed);或者8位元表示1个十进制数字,称为未压缩的BCD码(uncompressed or zoned)。

這種編碼技术,最常用於會計系統的設計裡,因為會計制度經常需要對很長的數字串作準確的計算。相對於一般的浮點式記數法,採用BCD碼,既可保存數值的精確度,又可免卻使電腦作浮點運算時所耗費的時間。此外,對於其他需要高精確度的計算,BCD編碼亦很常用。

BCD码的主要优点是在机器格式与人可读的格式之间转换容易,以及十进制数值的高精度表示。BCD码的主要缺点是增加了实现算术运算的电路的复杂度,以及存储效率低。

常用BCD編碼方式[编辑]

最常用的BCD編碼,就是使用"0"至"9"這十個數值的二進碼來表示。這種編碼方式,稱為8421BCD, 除此以外,對應不同需求,各人亦開發了不同的編碼方法,以適應不同的需求。這些編碼,大致可以分成有權碼無權碼兩種:

  1. 有权码,如:8421(最常用)、2421、5421…
  2. 无权码,如:餘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

外部連結[编辑]