二进制与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。

扩展资料:

BCD码使用四位来存储十进制数,这使得二进制和十进制之间的转换很快,这种编码技术最常用于会计系统的设计,因为会计系统通常需要精确地计算一长串数字。

与一般的浮点计数方法相比,BCD码不仅可以节省数值精度,而且可以节省浮点运算时间,此外,BCD编码也常用于其他需要高精度的计算。

BCD码的最高二进制数是符号位,负数的符号位是1,正数是0,16位BCD码的范围是-999-+999。

BCD代码没有单独的表示,而是借用了十六进制表示,因此很容易混淆,一般来说,有两种判断方法:

1、看看数据的来源和目的,BCD码通常用于输入和输出,例如,来自拨号开关的数据是BCD码,它被发送到电梯层的解码芯片。

2、请参阅手册,例如,数据类型“日期和时间”中的日期和时间值是BCD代码,计数器的预设值PV和当前计数值CV BCD是BCD代码。

参考资料来源:

百度百科-BCD码

百度百科-8421编码

温馨提示:内容为网友见解,仅供参考
无其他回答

2进制数和BCD码什么转换?举个例子。真诚感谢。
二进制数调整BCD码的方法是将二进制码左移8次,每次移位后都检查低四位LSD+3是否大于7,如是则加3,否则不加,高4位MSD作同样处理。二进制的1111,即2#1111 ,等于10#的15。而BCD#2#1111却是一个非法数据,因为BCD码只能表示十进制的0-9之间的数,这一-串2#1111还是等于10#15。因为BCD码的...

二进制与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。

二进制码如何转换成BCD码?
可以用加3移位法转换:BCD码中只有0~9十进制数,但是在四位二进制中是16进制进1,因此在移位过程中要对二进制进行判断,当在移位之后的状态Qn+1大于9,要对Qn加6才可以。同时,也可以在移位之前进行判断,如果移位之前的Qn数据大于4,说明Qn+1会溢出,所以可以+3再进行移位,和刚才结果是一样的。

二进制转BCD码
加3移位法只能把整数的二进制码转成整数的BCD码,小数则不行,要算小数的话,可以先乘以10的n次方,再转BCD码。6、 参考文献 基于CPLD的二进制码转换为二.十进制(BCD)码的电路

数字电路二进制如何转换8421BCD
二进制转换8421BCD的思路如下:给定一个二进制数,要转BCD码。一个常用算法就是不断将该数除以10,以此依次分解出个位、十位、百位??上的数字,这些数字的4位二进制数就是对应的BCD。但是这样的算法需要不断做除法操作十分的麻烦。可以使用名为加三左移法来完成。这个算法基于以下的事实:一个数乘以...

关于BCD码和2进制的转换问题,高人进!
二进制 0000 0001 0110 1101 B 十六进制 0 1 6 d H 所以BCD码为 016d H 我见过的BCD码好像没有出现过a~f,这里只是例子真正的BCD吗是没有大于9的数 放进一个unsigned int型的数据里如aa=0x016d H 在机器里存储也是0000 0001 0110 1101 不懂加qq 1320249827 致楼...

BCD码怎样换算成二进制码,
直接就是二进制码;如果是8位8421BCD码的话,则将高4位BCD码乘以二进制数1010b,再加上低4位二进制码就行了。更多位的BCD码,也可以按照这种方法,每4位一组进行运算,只不过要乘以的二进制数变大了,例如变成1100100b(实际上是1010b*1010b)和1111101000b(1010b*1010b*1010b)等等。

bcd码与二进制怎么换算
4,5,6,7,8,9这十个数符。最常用的BCD码称为8421BCD码,8.4.2.1分别是4位二进数的位取值。BCD码与十进制数的转换,关系直观,相互转换也很简单,将十进制数75.4转换为BCD码如:75.4=(0111(0101.0100)BCD,若将BCD码10000101.0101转换为十进制数如:(10000101.0101)BCD=85.5 ...

bcd码是什么意思?
BIN和BCD是一个数据转换指令,这两条指令是二进制与bcd码之间的相互转换,二进制转BCD需要先转成10进制。BIN码就是二进制编码。比如十进制数9用8位BIN码表示就是00001001;BCD码就是用四位二进制数表示一位十进制数的编码,如8424码等,比如十进制数9用BCE码表示就是1001;1、例:BIN K2X0 D0 ...

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对应00000100 00000101 00000110。

相似回答
大家正在搜