文档详情

bcd码转二进制程序.pdf

发布:2025-02-17约1.64千字共3页下载文档
文本预览下载声明

bcd码转二进制程序

意义:用4位二进制数来标明数值中的1位(十进制数中的

0~9这10个数字),简称BCD码,BCD代码

也能够这么了解:即是将十进制的数以8421的办法翻开成二进

制(14以8421办法展现成二进制即进制标明即是

20)

14的BCD码为20.

函数的效果即是把20成为14.怎样把20成为14呢?从界说动

身,每一位用4位二进制标明.那就把BYTE的前4位*10,加上后四位

即可。经过景象看实质。就这句话。

bcd码是四位二进制码,也即是将十进制的数字转化为二进制,可

是和通常的转化有一点纷歧样,每一个十进制的数字0-9都对应着一

个四位的二进制码,对应联络如下:十进制0对应二进制0000;十进制

1对应二进制000191001接下来的10就有两个上述的码来标明

10标明即是BCD码是遇见1001就发作进位,不象通

常的二进制码,到1111才发作进位10000

/******************************************************

************************

*Function:bcd2val

1

*Description:ConvertoneBYTEpackedBCDtobinaryvalue.

*Input:bcd;//oneBYTEpackedBCD.

*Return:binaryvalue.

*Note:N/A

*GlobalsChanged:N/A

*******************************************************

***********************

*/

DWORDbcd2val(BYTEbcd)

{

return((bcd4)*10+(bcd0x0f));

}/*bcd2val*/

bcd2val(20)=

(1)、000101004

(2)、1*10=10

(3)、bcd0x0f

(4)、10+4=14十六进制标明为e

把word型的数据(BCD)也改换成二进制值。

DWORDbcd2bin(WORDbcdval)

{

2

return(bcd2val((BYTE)(bcdval/256))*100+bcd2val((BYTE)(bcdval%25

6)));

}

除以256恰当于右移动8位,即把前一个字节转成二进制值,+

后一个字节的BCD码值改换成二进制值。

BCD转成二进制值输出这个函数写的如同有疑问。

DWORDbcd2val(BYTEbcd)

{

return((bcd4)*10+(bcd0x0f));

}

假定用BCD码20赋值进入如同,没疑问。算出来的值为14

假定用241去核算的话。算出来值是151也是彻底精确的。eg:

1、241的BCD码的十进制值为151.

2、256的BCD码十进制值是100二进制为0X64

3

显示全部
相似文档