简述二进制码、十进制码、BCD码、十六进制码转换的算法

简述二进制码、十进制码、BCD码、十六进制码转换的算法

①二进制转十进制:把二进制的“1”,从右边第一个开始按2的1次方,2的2次方…,相加即得十进制数
在这里插入图片描述
②二进制转十六进制:从右往左,每4个作为一个数,不足4个的在前面补0.
在这里插入图片描述
③十进制转二进制
方法一:除2取余法。
方法二:用十进制减去2的次方,直到整除。
在这里插入图片描述
④十六进制转二进制:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。
在这里插入图片描述
⑤二进制转BCD码:将待转换的二进制码从最高位开始左移BCD的寄存器(从高位到低位排列),每移一次,检查每一位BCD码是否大于4,是则加上3,否则不变。左移8次后,即完成了转换。
在这里插入图片描述

把四字节 BCD 码 5287 转换为十六进制码 14A7H

5287=7+10*(8+10*(2+105))=(510+2)100+(810+7)

MOV 40H,#5
MOV 41H,#2
MOV 42H,#8
MOV 43H,#7
MOV A,40H
MOV B,#10
MUL AB
ADD A,41H
MOV B,#100
MUL AB
MOV R3,B
MOV R2,A
CLR A
MOV A,42H
MOV B,#10
MUL AB
ADD A,43H
ADD A,R2
MOV R2,A
MOV A,B
ADDC A,R3
MOV R3,A
END

最后转换结果在R3,R2中,为14A7。
在这里插入图片描述

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿健也会编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值