汇编里 关于BCD码的问题

来源:百度知道 编辑:UC知道 时间:2024/05/06 13:20:00
请问 BCD码 是什么
并且怎样将 bcd码与ASC2码进行互相转化
还有压缩BCD码 与非压缩BCD码 是什么意思 怎末转换

最常用的BCD编码,就是使用"0"至"9"这十个数值的二进码来表示。这种编码方式,在中国大陆称之为“8421码”。除此以外,对应不同需求,各人亦开发了不同的编码方法,以适应不同的需求。这些编码,大致可以分成有权码和无权码两种:
有权BCD码,如:8421(最常用)、2421、5421…
无权BCD码,如:余3码、格雷码…

压缩BCD码与非压缩BCD码的区别—— 压缩BCD码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110B表示十进制数96D;非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9.例如00001000B表示十进制

bcd->asc转化是..
比如bcd = 0x21 那么转化成结果就是 2 *10 +1 = 21 = 0x15
也就是0x21->0x15
到过来..
比如asc是0x33那么
0x13 = 19 = 0x19 bcd=0x19

c语言运算 bcd->asi
8位的bcd
bcd/16 *10 + (bcd & 0xf) = asc
asi->bcd
asi/10*16 + asi%10 = bcd

你这个一下子不好说清楚的 建议你还是找本微机原理的书看一下 就明白了