8421BCD码
8421BCD码是一种最常见的二-十进制编码,用四位二进制码0000~1001代表十进制的0~9,它与十进制码的转换十分简单,只需将需要转化的数字改写为对应的二/十进制码即可。
例:(12)10=(00010010)BCD (011100100011)BCD=(723)10
8421码具有奇偶性。通过最低位8421码可以判断其奇偶性。
缺陷:8421BCD码会造成内存的浪费。4位2进制可以表示(0)10~(15)10,共16个数;而4位8421BCD码只能表示(0)10~(9)10,共10个数。
BCD码的加法运算
规定把每四位BCD数叫做一个BCD数,它代表十进制数的一位,运算中两个BCD数相加大于9而产生的进位叫做进位。如果相加没有产生进位,则无需修正;如果产生进位,则最后在此位+6来修正.
例:用BCD码计算19+29。
0001 1001
+ 0010 1001
—————————
0100 0010
由于后四位和为18,产生了进位,则需对和+6作为修正。结果为0100 1000,即为48.
余3码
余3码即在8421BCD码的基础上加3(0011).余3码为对9的 自补码。只需将余3码按位取反,就可以得到其对9的补码。在余3码相加时,要对进位进行修正。如果没有进位,则和-3;如果有进位,则和+3. 余3码的和仍为余3码。
余3码的计算
用余3码表示数字时,有效余3码为0011~1100,即当两数之和超过1100时,就产生了进位。<注>高位为0的余3码表示为0011,而非0000;未进位时要有-3修正。
例:计算5+6。
0011 1000
+ 0011 1001
————————
0111 0001
此时需要对低位+3修正 得0111 0100;
再对高位-3修正 得0100 0100,该结果即为5+6=11的8421BCD余3码。
2421码
2421码的四位权重分别为2 4 2 1,显然,2421码的编码不只一种。可靠性编码
为了减少代码在形成或传输过程中的错误,需要采用可靠性编码的方法,来定位错误代码的位置,甚至予以纠正。
Gray码
Gray码是一种二进制编码,两个相邻数字的Gray码仅相差一位,这样就避免了较大误差的产生。
二进制码与Gray码的转化
已