问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有关十进制整数(BCD)转换成二进制的电路设计!

发布网友 发布时间:2022-04-24 00:57

我来回答

5个回答

热心网友 时间:2022-04-15 00:57

十进制整数(BCD)转换成二进制:

在数学中,我们都知道随便一个十进制数如5468,那么它的计算过程可以转换为:5468=5*1000+4*100+6*10+8,因此BCD码转成二进制数的算法就是:

abcd=a*1000+b*100+c*10+d。

这种算法是最常规的一种算法,里面需要用到乘法器以及加法器,这种实现方式比较耗费资源,下面梦翼师兄会介绍一种算法,这种算法需要用到加法和移位来完成BCD转二进制数的功能,从而尽可能的节约逻辑资源。

二进制码左移一位等于未左移的二进制码*2,例如有二进制码101001,转成十进制等于41,左移一位得到1010010,转成十进制等于82。

也就是说二进制码左移1位加上左移3位可以等效于二进制码乘以10。

用实例分析:十进制数29;

用BCD码表示:十位上的十进制数为2==BCD码表示为0010;个位上的十进制数9===BCD码表示为1001;所以总的来说十进制数29用BCD码表示为:00101001。

转换过程:把BCD码0010(十进制数为十位上的2)右移4位(其实表示当作一个个位数,或者说单纯的数值),然后乘以10还原到十进制的权重(因为这个数本来表示的就是十进制数中的十位)。处理完十位上的数,接着处理个位上的数。

因为BCD码的权重和二进制的前四位权重是一样(2^n,n为位数),所以直接用前面的十位上的数加上它就可以了。

简单点分析:0010(十位上的2BCD码表示)×10+1001(个位上的9BCD码表示)=29的二进制数

C代码表示:#define BCD_TO_BIN(val)   ((((val) >> 4) * 10) +  ((val)&15))。

扩展资料:

BCD码是用4位二进制数(各个位的权重分别为:8421,所以叫8421码)来表示一位十进制数。

这里的一位十进制数要特别说明下,一位十进制数只能是 0~9之间的一个数值。比如:6 就是表示一位十进制数6;66则是表示两位十进制数;666则是表示三位十进制数。

BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。

相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使计算机作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。

参考资料:百度百科-BCD码

热心网友 时间:2022-04-15 02:15

有现成的芯片。

芯片(1)74LS154

:4-16线译码器,四位2进制数(4位BCD码编制)转换为16位2进制数

芯片(2)74LS138

:3-8线译码器,3BCD---转8位2进制数 

你可以去www.21ic.com上搜索这两个芯片的原理图。原理图太大了上传不了。

热心网友 时间:2022-04-15 03:49

二进制编码的十进制数,简称BCD码(Binarycoded Decimal). 这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符

二进制编码的十进制数,简称BCD码(Binarycoded Decimal). 这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符。4位二进制数码有16种组合,原则上可任选其中的10种作为代码,分别代表十进制中的0,1,2,3,4,5,6,7,8,9 这十个数符。最常用的BCD码称为8421BCD码,8.4.2.1 分别是4位二进数的位取值。 点击此处将给出十进制数和8421BCD编码的对应关系表。
1、BCD码与十进制数的转换
BCD码与十进制数的转换.关系直观,相互转换也很简单,将十进制数75.4转换为BCD码如:
75.4=(0111 (0101.0100)BCD 若将BCD码1000 0101.0101转换为十进制数如: (1000 0101.0101)BCD=85.5
注意:同一个8位二进制代码表示的数,当认为它表示的是二进制数和认为它表示的是二进制编码的十进制数时,数值是不相同的。
例如:00011000,当把它视为二进制数时,其值为24;但作为2位BCD码时, 其值为18。
又例如00011100,如将其视为二进制数,其值为28,但不能当成BCD码,因为在8421BCD码中,它是个非法编码 .
2、BCD码的格式
计算机中的BCD码,经常使用的有两种格式,即分离BCD码,组合BCD码。
所谓分离BCD码,即用一个字节的低四位编码表示十进制数的一位,例如数82的存放格式为:
_ _ _1 0 0 0 _ _ _ _0 0 1 0 其中_表示无关值。
组合BCD码,是将两位十进制数,存放在一个字节中,例82的存放格式是1000 0010
3、BCD码的加减运算
由于编码是将每个十进制数用一组4位二进制数来表示,因此,若将这种BCD码直接交计算机去运算,由于
计算机总是把数当作二进制数来运算,所以结果可能会出错。例:用BCD码求38+49。
解决的办法是对二进制加法运算的结果采用"加6修正,这种修正称为BCD调整。即将二进制加法运算的结果修正为BCD码加法运算的结果,两个两位BCD数相加时,对二进制加法运算结果采用修正规则进行修正。修正规则:
(1)如果任何两个对应位BCD数相加的结果向高一位无进位,若得到的结果小于或等于9,则该不需修正;若得到的结果大于9且小于16时,该位进行加6修正。
(2)如果任何两个对应位BCD数相加的结果向高一位有进位时(即结果大于或等于16),该位进行加6修正.
(3)低位修正结果使高位大于9时,高位进行加6修正。
下面通过例题验证上述规则的正确性。
用BCD码求35+21 BCD码求25+37 用BCD码求38+49 用BCD码求42+95
用BCD码求91+83 用BCD码求94+7 用BCD码求76+45
两个组合BCD码进行减法运算时,当低位向高位有借位时,由于"借一作十六"与"借一作十"的差别,将比正确的结果多6,所以有借位时,可采用"减6修正法"来修正.两个BCD码进行加减时,先按二进制加减指令进行运算,再对结果用BCD调整指令进行调整,就可得到正确的十进制运算结果。 实际上,计算机中既有组合BCD数的调整指令,也有分离BCD数的调整指令。另外,BCD码的加减运算,也可以在运算前由程序先变换成二进制数,然后由计算机对二进制数运算处理,运算以后再将二进制数结果由程序转换为BCD码

热心网友 时间:2022-04-15 05:41

我的意思是你不可能找到比我找个答案更好的答案了,自己找个人或者去网上搜搜吧,200分提问这样的问题确实浪费,根本没有人去帮你解答,这是一件大工程,说实话,弄一篇这样的论文我都可以回答一两千的高分问题了,不要在这里等答案误事

热心网友 时间:2022-04-15 07:49

这个不难么,用一个大的case语句就可以完成了~~~~~
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...每次文字比较多超出屏幕大小就不知道怎么截屏,求教大佬! 我国政策性 广西明士清医疗器械有限公司怎么样? 广西禾力药业有限公司怎么样? 广西龙母圣商贸有限公司怎么样? 安徽合肥有什么去痔的好地方 我女朋友的谷丙转氨酶过高(达到121),而且两对半检测为阴性,是肝功能有... 泸州丽人女子医院开展科室 自由之子本次世界杯是否将在小组赛中被菜? 世界杯谁会嬴 草莓几月份种植最好 猪腱子肉是哪个部位? 和一身腱子肉的高大男人在一起,什么感觉? 猪肉的腱子肉怎么做 从一身腱子肉变成大肚腩,吴京到底经历了什么? 腱子肉的概述 腱子肉是哪个部位 猪腱子肉怎么炖有营养 腱子肉好吃吗 买牛肉要分清腱子、里脊和上脑,哪里的肉最好吃? 什么是腱子肉? 一身腱子肉什么意思? 腱子肉和肌肉有什么区别 怎样辨别前后腱子肉? 抖音直播间里可以唱十大悲曲吗 杭州满身腱子肉的大伯国庆躲在公园里撸铁,这是怎么回事? 一身腱子肉出处 一身腱子肉是什么意思? 刚摘下来的榛子可以直接放在锅里炒熟吗? 炒熟的野生榛子是黑*做手拍以后颜色没有什么改变请问加什么东西让榛子变成*? PLC里的BCD码是什么?? 草莓是几月份种植 海运英语词汇 如何将693.12化成8421码和余三码的形式 草莓苗几月份栽种最好 如果我按照BCD规则四位二进制数表示一位十进制数的话结果是00010110 什么时候的季节适合种草莓? BCD码和二进制码有什么区别 草莓是每年几月种植?期间需要注意哪些环节? 十进制数(65)10的8421BCD编码是什么? 草莓适合几月份种植 bcd码与四位二进制数转换加6的原因 露天种植草莓几月份栽苗? 在计算机中,用四位二进制代码表示一位十进制的数值编码大方法是 草莓是几月份种植的? 十进制转化成二进制,8进制,8421BCD 的公式? 将代码(10000011)8421BCD转换成二进制数为多少 十进制43转换为8421BCD码怎么转 计算机有二进制和十进制,为什么还要搞个八进制,十六进制? ASCII码又称美国信息交换标准码,是用( )位二进制编码表示