找回密码
 注册
关于网站域名变更的通知
查看: 296|回复: 1
打印 上一主题 下一主题

炼狱传奇-BCD转二进制之战

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-16 08:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
炼狱传奇-BCD转二进制之战
  @& s& ~  Y# z4 a7 b* S
在前面的《炼狱传奇-二进制到BCD之战》,我们已经学会了如何把二进制的数据转换成BCD码,现在,我们就反过来思考,设计一个电路架构,把BCD码转换成二进制码。在数学中,我们都知道随便一个数,比如5468=5*1000+4*100+6*10+8,所在BCD码转成二进制码最基本的方法就是:a_b_c_d=a*1000+b*100+c*10+d 这种算法是最常规的一种算法,里面需要用到乘法器跟加法器,下面我会介绍一种算法,这种算法仅仅需要用到加法就可以完成BCD转二进制的功能。在介绍这种算法之前,我先来解释一个小小的问题:二进制码左移移位等于未左移的二进制码*2,例如有二进制码101001,转成十进制等于41,左移一位得到1010010,转成十进制等于82,下面我们可以尝试一下数学证明:, l. `9 i, U! `# S* ?
若有一个二进制码等于abcd,转成十进制码等于a*8+b*4+c*2+d;左/ z1 b3 D2 h9 `* h6 l% \
移移位等到二进制码等于abcd0,转成十进制码等于a*16+b*8+c*4+d*2;  }" i& b9 Q* n- ?; W2 ]
所以2*abcd=abcd0,同理可得10*abcd=(abcd0)+(abcd000)。; x  F; r* U& A! {
既然二进制码左移1位加上左移3位等于二进制码乘以10,那么我们是否, D" `( f& G0 {+ V* W
可以利用移位来代替乘法的运算呢,下面我们就来设计一个电路架构图,来实现
  q/ ]. q; p& x1 Q16位BCD码转成14位二进制码的功能。
5 @6 V. S( N6 K' D+ q
游客,如果您要查看本帖隐藏内容请回复

' D6 C+ y; J$ c7 o  r

该用户从未签到

2#
发表于 2019-12-16 18:37 | 只看该作者
转二进制,了解一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 16:09 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表