c语言中bcd转换函数,bcd码转换成十进制编程C语言

请问这个C51中的这个函数可以把BCD码转换成十进制,具体原理是怎么执行的呀

Decimal=bcd4;先取bcd码的高位,因为整个BCD码表示数不会超过99,所以定义成uchar就完全可以了。 return(Decimal=Decimal*10+(bcd=0x0F)),就是高位乘10加上原来数的低位,这就转成10进制数了。

站在用户的角度思考问题,与客户深入沟通,找到驻马店网站设计与驻马店网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网页空间、企业邮箱。业务覆盖驻马店地区。

如何用c语言实现bcd码转十六进制数比如BCD码5(0101),怎么转成0x05??

#includestdio.h

#includestring.h

int main()

{

char a[20],b[5];

int i,result = 0,k = 1,j = 0;

printf("输入一个二进制数:\n");

gets(a);

for(i = strlen(a)-1;i = 0;i --)

{

if(a[i] == '1') result += 1 (k-1); //如果是1,用1*位权

if(k == 4 || i == 0) //每四位计算一次结果(result)。

//如果到了最高位(i==0)不足四位(比如100 0000),也计算

{

switch(result)

{

case 10: b[j++]='A';break; //大于等于十转化成字母

case 11: b[j++]='B';break;

case 12: b[j++]='C';break;

case 13: b[j++]='D';break;

case 14: b[j++]='E';break;

case 15: b[j++]='F';break;

default: b[j++]=result + '0';break;

}

result = 0; //结果清零

k = 0; //表示位权的K清零

}

k ++; // 初始位权为1

}

b[j] = '\0';

printf("结果是:\n");

for(i = strlen(b)-1;i = 0;i --)

printf("%c",b[i]);

printf("\n");

return 0;

}

C语言中怎么把16进制转换成bcd码

void HextoBCD(u8 *pBuff,u8 len) //十六进制转为BCD码

{

u8 i,temp;

for(i=0;ilen;i++)

{

temp=pBuff[i]/10;

time[i]=pBuff[i]%10+temp*16;

}

}

利用C语言 将BCD码转成二进制输出的程序

#include stdio.h

#include stdlib.h

#include string.h

#define INPUT_BCD_MAX_LENGTH 10

int main(void)

{

//

char bcd[ INPUT_BCD_MAX_LENGTH ];

char *bin = NULL;

char t_bin[ 6 ];

int i, j, q, r, t, bcd_len, bin_len;

printf( "Please enter the decimal code: " );

scanf("%s", bcd);

bcd_len = strlen( bcd );

bin_len = bcd_len * 6 + 1;

bin = ( char * )malloc( bin_len );

memset( bin, 0, bcd_len * 6 + 1 );

for( i = 0; i  bcd_len; i++ )

{

/* 把字符转换为数字*/

q = bcd[ i ] - '0';

//将每个十进制转换为四位二进制

for( j = 0; j  4; j++ )

{

t = q / 2;

r = q % 2;

q = t;

if( q == 0  r != 1 )

{

t_bin[ j ] = '0';

}

else

{

//把数字转换为字符

t_bin[ j ] = r + '0';

}

}

t_bin[ j ] = ' ';

t_bin[ j + 1 ] = '\0';

strrev( t_bin );

strcat( bin, t_bin );

}

printf( "BCD coded decimal:\n%s\n", bin );

free( bin );

bin = NULL;

system("pause");

return 0;

}


文章标题:c语言中bcd转换函数,bcd码转换成十进制编程C语言
浏览路径:http://scyanting.com/article/hsejgi.html