二進碼十進數

二進碼十進數（，簡稱BCD，中国大陆称BCD码或二-十进制编码）是一種十进制數字編碼的形式。在這種編碼下，每个十进制数字用一串单独的二进制位元來儲存與表示。常见的有以4位元表示1个十进制数字，称为压缩的BCD码（compressed or packed）；或者以8位元表示1个十进制数字，称为未压缩的BCD码（uncompressed or zoned）。

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

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

 常用BCD編碼方式 
對應不同需求，各人亦開發了不同的編碼方法，以適應不同的需求。這些編碼，大致可以分成有權碼和無權碼兩種：
 有权码，如：8421（最常用）、2421、5421
 无权码，如：餘3码、格雷码

8421码
8421码又称为BCD码，是十进制代码中最常用的一种。 (8+82 pages) (NB. The 4-bit 8421 BCD code with an extra parity bit applied as least significant bit to achieve odd parity of the resulting 5-bit code is also known as Ferranti code.)在这种编码方式中，每一位二值代码的“1”都代表一个固定数值。将每位“1”所代表的十进制数加起来就可以得到它所代表的十进制数码。因为代码中从左至右看每一位“1”分别代表数字“8”“4”“2”“1”，故得名8421码。其中每一位“1”代表的十进制数称为这一位的权。因为每位的权都是固定不变的，所以8421码是恒权码。
余3码
余3码是由8421码加上0011形成的一种无权码，由于它的每个字符编码比相应8421码多3，故称余3码。例如，十进制字符5的余3码等于5的8421码0101加上0011，即为1000。同样，余3码中也有6种状态0000,0001,0010,1101,1110和1111是不允许出现的。
余3码也是一种对9的自补代码，因而可给运算带来方便。其次,在将两个余3码表示的十进制数相加时，能正确产生进位信号，但对“和”必须修正。修正的方法是：如果有进位，则结果加3；如果无进位，则结果减3。
余3码与十进制之间的转换也是按位进行的，值得注意的是每位十进制数的编码都应余3。

2421码
2421码是一种有权码，权值由高到低分别为2、4、2、1，特点是大于等于5的4位二进制数中最高位为1，小于5的最高位为0。如5的2421码表示为1011而不是0101。

比較
以下為三種常見的BCD編碼的比較。

十進數8421-BCD碼餘3-BCD碼2421-A碼（M10） D C B A C3 C2 C1 C0 a3 a2 a1 a000 0 0 00 0 1 10 0 0 010 0 0 10 1 0 00 0 0 120 0 1 00 1 0 10 0 1 030 0 1 10 1 1 00 0 1 140 1 0 00 1 1 10 1 0 050 1 0 11 0 0 01 0 1 160 1 1 01 0 0 11 1 0 070 1 1 11 0 1 01 1 0 181 0 0 01 0 1 11 1 1 091 0 0 11 1 0 01 1 1 1

 參見 
遮罩
2000年問題
国际移动设备识别码

 外部連結 
BCD-Code

 参考文献 

Category:数字电子
Category:計算機算術
Category:電腦架構
Category:数字电路
Category:非标准进制系统