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

二進碼十進數

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

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

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

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

常用BCD編碼方式[编辑]

對應不同需求,各人亦開發了不同的編碼方法,以適應不同的需求。這些編碼,大致可以分成有權碼無權碼兩種:

  1. 有权码,如:8421(最常用)、2421、5421…
  2. 无权码,如:餘3码、格雷码

8421码[编辑]

8421码又称为BCD码,是十进制代码中最常用的一种。在这种编码方式中,每一位二值代码的“1”都代表一个固定数值。将每位“1”所代表的十进制数加起来就可以得到它所代表的十进制数码。因为代码中从左至右看每一位“1”分别代表数字“8”“4”“2”“1”,故得名8421码。其中每一位“1”代表的十进制数称为这一位的权。因为每位的权都是固定不变的,所以8421码是恒权码。

余3码[编辑]

2421码[编辑]

以下為三種常見的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

外部連結[编辑]