二进制码如何转换成BCD码?

作者&投稿:逮姣 (若有异议请与网页底部的电邮联系)
~

可以用加3移位法转换:BCD码中只有0~9十进制数,但是在四位二进制中是16进制进1,因此在移位过程中要对二进制进行判断,当在移位之后的状态Qn+1大于9,要对Qn加6才可以。

同时,也可以在移位之前进行判断,如果移位之前的Qn数据大于4,说明Qn+1会溢出,所以可以+3再进行移位,和刚才结果是一样的。

简单的说,判断的目的是防止下一次移位,发生数据溢出的情况。

扩展资料:

BCD码的分类:

一、8421。

8421 BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。

二、5421和2421。

5421 BCD码和2421 BCD码为有权BCD码,它们从高位到低位的权值分别为5、4、2、1和2、4、2、1。这两种有权BCD码中,有的十进制数码存在两种加权方法;2421 BCD码中的数码6,既可以用1100表示, 也可以用0110表示。

这说明5421 BCD码和2421 BCD码的编码方案都不是惟一的,

三、余3码。余3码是8421 BCD码的每个码组加3(0011)形成的。常用于BCD码的运算电路中。

四、余3循环码。

余3循环码是无权码,即每个编码中的1和0没有确切的权值,整个编码直接代表一个数值。主要优点是相邻编码只有一位变化,避免了过渡码产生的“噪声”。

五、Gray码。

Gray码也称循环码,其最基本的特性是任何相邻的两组代码中,仅有一位数码不同,因而又叫单位距离码。

Gray码的编码方案有多种,典型的Gray码如下表所示。从表中看出,这种代码除了具有单位距离码的特点外,还有一个特点就是具有反射特性,即按表中所示的对称轴为界,除最高位互补反射外,其余低位数沿对称轴镜像对称。利用这一反射特性可以方便地构成位数不同的Gray码。

参考资料:

BCD码----百度百科




8bit二进制数字如何转换为bcd码?
采用加3移位法,修正移位结果:串行输入三位后,结果大于4 (0101)B=5(D)加3:(0101)B+(0011)B=(1000)B --十进制表示:5+3=8 再左移一位后:(1000Xn)B= (0001_000Xn)BCD 对应十进制显示:1 Xn 每四位BCD码对应一位十进制数,即:(10+Xn)D,转换成功 注:Xn为...

1.查阅资料,回答如何把十进制小数转换为b进制小数?
转换为b进制小数步骤如下 (1) 用a和b相乘 (2) 将(1)结果的整数部分写到小数点后第一位(整数部分为0则写0)。(3) 若(1)的结果为整数,则停止操作。若(1)结果存在小数部分,则取其小数部分乘以b。(4) 将(3)结果的整数部分写到小数点后第二位 (5) 若(3)的结果为整数,则停止操作。若...

十进制转成BCD码是怎样的?
十进制转成BCD码是整数从右边开始,每个十进制数都用一组四位二进制数来表示。压缩BCD码是分别由二进制数字来表示各十进制数位的二进制编码记法。需要注意的是每个十进制数都用一组四位二进制数来表示。不足4位者(十进制数0到7)加添0字开头,以凑足4位。比如将十进制数75转换为BCD码:7=01...

十进制数怎样换算成8421BCD码?BCD码又怎样换算成十进制数?
1、十进制换算BCD码,整数从右边开始,每个数是4位二进制代码。比如:(195)10=(1 1001 0101)BCD,小数和其他进制转换不一样,是数位换算:(0.28)10=(0.0010 1000)BCD。BCD码换算成十进制数的方法如下:1、BCD码与十进制数的转换关系很直观,相互转换也很简单,将十进制数75.4转换为BCD...

求有关“二进制与26个字母之间转化”的相关知识!如题,要详细,不要废话...
运算为:0101 = 4+1 = 5 1011 = 8+2+1 = 11(由于10为A,所以11即B)1011 = 8+2+1 = 11(由于10为A,所以11即B)结果为:5BB 四、二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:0110 0100,转换为10进制为:计...

二进制与BCD码之间的转换
一般来说,默认的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。

二进制数如何转换为八进制、十六进制?
=256+128+0+32+16+0+0+2+0+1\/2+0+0+1\/16+0+1\/64=434.578125(10)。3、二进制转为十六进制 110110010.100101(2)→1'1011'0010.1001'01(2)→0001'1011'0010.1001'0100(2)=1B2.94(16)。进位制\/位置计数法是一种记数方式,故亦称进位记数法\/位值计数法,可以用有限的数字符号...

求进制转换的详细过程
10进制数转换成二进制数,这是一个连续除以2的过程:把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。听起来有些糊涂?结合例子来说明。比如要转换6为二进制数。"把要转换的数,除以2,得到商和余数"。那么:十转二示意图要转换的数是6...

c语言中的转义字符十六进制码“\\x1B”中的“B”是什么含义
1B就是一个十六进制的值转成十进制你知道的是27,但是你知道为什么转成十进制是27吗,知道了就知道B是什么意思了 你找下十六进制的资料吧 ,很 基础的 百科有 8进制:0 1 2 3 4 5 6 7 十进制:0 1 2 3 4 5 6 7 8 9 十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F 你...

十二进制52D转换成二进制B是多少?
52D 中不应该有D,如果有D,则表示它至少是 14进制数。(还有一种理解,D 作为后缀则表示 52是10进制数)以下按 52 是 12进制数计算:(52)12 =(111110.)2 =(76.)8 =(62.)10 =(52.)12

象山县17222508333: 16位2进制数转换为BCD码. -
濯毕祖师:[答案] 先转化成10进制(用系统自带计算器就可以),然后每一位数字转化为4位的2进制数字,再全部连起来(常用的8421码). 比如1001101101100101,转化为10进制39781,然后每个数字再转化成4位,3变成0011,9变成1001……最后结果是...

象山县17222508333: 肿么把二进制数转成BCD码 -
濯毕祖师: 手算,方法如下: 先把多位的二进制数转成十进制数,再把每位十进制数,转换成四位二进制数.

象山县17222508333: 二进制转化成8421bcd码 -
濯毕祖师: 给个例子啊::二进制:1001010=74D8421BCD就是将7、4分别用4位的二进制表示出来:(01110100)8421BCD 请采纳.

象山县17222508333: 将给定的一个二进制数转换成十进制码(BCD) -
濯毕祖师: 100110的10进制是38 得出8421码为0011 1000 8421BCD码 二进制编码的十进制数,简称BCD码(Binarycoded Decimal). 这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符 参考 http://wenwen.sogou.com/z/q...

象山县17222508333: 2进制数和BCD码什么转换?举个例子.真诚感谢. -
濯毕祖师: 二进e5a48de588b67a6431333431373863制数调整BCD码的方法是将二进制码左移8次,每次移位后都检查低四位LSD+3是否大于7,如是则加3,否则不加,高4位MSD作同样处理. 二进制的1111,即2#1111 ,等于10#的15.而BCD#2#...

象山县17222508333: 将一个16位二进制数转换为BCD码是什么意思?求举例说明:0000 0001 1010 1100B -
濯毕祖师:[答案] 因为0000 0001 1010 1100B这个数是十进制数428;而BCD码的意思是用二进制表示十进制数,所以要把428的每一位用一个4位二进制数表示,就是0100 0010 1000.不知为你说清楚没有?

象山县17222508333: 怎样把比较大的二进制转换成BCD码
濯毕祖师: 1、先把32位的整数限定到8个9的范围内;2、用DIV指令,除数为10000,把原数拆成两个16位的整数,分别用IBCD即可.

象山县17222508333: 三位二进制数转换成8421BCD 码 -
濯毕祖师: 现有三个二进制数做输入,比如101,想通过译码转换成十进制数(能够输出1-5即可,0-9更完美), ---- 三个二进制数:000~111,直接就是十进制数:0~7.不需要作任何转换.接上一个七段译码器,能输出7个段码,再送到数码显示器,即可.

象山县17222508333: 将一个给定的二进制数,转换成一个二进制编码的十进制(bcd)码. -
濯毕祖师: 数字ascii码是 0x30-0x39,可以看到高四位都是0x3,所以可以压缩 ,将两个字节的数字都掐掉高四位,然后拼成一个字节 0x30 0x31 就变成了 0x01,这个就是BCD压缩编码.至于汇编语言,,,,早还给老师了.

象山县17222508333: 如何把一个200位的二进制数转换成BCD码表示? -
濯毕祖师: BCD码是用来表示十进制数的,所以需要先将二进制数转换成十进制数,再用BCD码来表示.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网