www.1862.net > 二进制转BCD码算法

二进制转BCD码算法

bcd码就是0-9共10个数字,对应的二进制码就是0000-1001.如7对应0111;26对应0010 0110;456对应0100 0101 0110,其文件运行如图所示.如果每位BCD码使用一个字节(8位),那么:7对应0000 0111;26对应0000 0010 0000 0110;456对

一般来说,默认的BCD码是8421码,也就是说,使用4位二进制数来表示10位0-9的1位十进制数.从左到右的重量是8,4,2,1.以十进制37为例,进行转换:3=2+1=(8421码)0011,7=4+2+1=(8421码)0111.所以37转换成8421码为0011 0111.扩

第一步,将8位无符号二进制整数除以100,得到两个结果:商和余数,这个商就是3位压缩bcd码的最高4位(截掉高4位,留下低4位二进制码);第二步,将上面的余数除以10,又得到两个结果:商和余数,将商的低4位作为3位压缩bcd码的中间4位,余数的低4位作为3位bcd码的最低4位.

可以先换成十进制,再转换成8421码例如(1101.1)二进制 = (13.5)十进制=(0001 0011.0101)8421BCD码

如果随意对一个累加器A中的二进制数据进行“二进制转十进制”调整是没有任何实际意义的!DA调整的对象是在ADD或ADDC之后的结果,而且是以BCD码相加以后才能够调整,否则没有实际意义!比如,现在要执行12D+39D也就是两个十

BCD是Binary-Coded Decimal的简称,用4位二进制数来表示1位十进制数中的0~9这10个数码,就是说二进制编码的十进制数,也就是所说的BCD码.(日常所说的BCD码大都是指8421BCD码形式.) 二进制换成8421CD码1、先将二进制转换为十进制;2、再将十进制转换为8421CD码.例如(1101.1)二进制 = (13.5)十进制=(0001 0011.0101)8421BCD码

二进制就是全部的数算做一个整体,如15的二进制为1111 BCD码就是每位都用二进制表示,如15BCD为0001 0101

给你个程序参考一下 标号:HBCD功能:单字节十六进制整数转换成单字节BCD码整数 入口条件:待转换的单字节十六进制整数在累加器A中.出口信息:转换后的BCD码整数(十位和个位)仍在累加器A中,百位在R3中.影响资源:PSW、A、B、R3 堆栈需求: 2字节 HBCD: MOV B,#100 ;分离出百位,存放在R3中 DIV AB MOV R3,A MOV A,#10 ;余数继续分离十位和个位 XCH A,B DIV AB SWAP A ORL A,B ;将十位和个位拼装成BCD码 RET

8421bcd码 是一种有权码,即每位二进制数都有固定的权,每个bcd码从高到低分别是8、4、2、1,它是一种最自然、最简单的bcd码. 比如:8421bcd码的1011=8*1+4*0+2*1+1*1=11=1*2^3+0*2^2+1*2^1+1*2^0

BCD码是十进制数1)0011 01103*10+5=35(BCD) ASCII码0x35=3*16+5=53 即字符'5'2)1011 0011高4位得11已经超出BCD的范围了,无法的到合法的BCD码0xB3 也超过了ASCII码的有效范围,无对应字符.

友情链接:prpk.net | xmjp.net | rprt.net | mqpf.net | ddng.net | 网站地图

All rights reserved Powered by www.1862.net

copyright ©right 2010-2021。
www.1862.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com