本文目录一览:
- 1、c语言怎么把“abc”变成“bcd"
- 2、C语言中BCD码转换程序,两者作用相同,哪一个执行效率高,为什么?
- 3、C语言中怎么把16进制转换成bcd码
- 4、单片机C语言十六进制转BCD码
- 5、C语言将八位无符号二进制数转换成BCD码
- 6、在C语言中,如何将16进制转为BCD码,如何表达
c语言怎么把“abc”变成“bcd"
没有必要转换为int,然后再转换回来,直接加1即可。
//---------------------------------------------------------------------------
#include stdio.h
#include string.h
void ne(char *a)
{
int i,len=strlen(a);
for (i = 0; ilen; i++)
a[i]++;
}
int main(void)
{
char str[80];
scanf("%s",str);
ne(str);
printf("%s\n",str);
return 0;
}
//---------------------------------------------------------------------------
C语言中BCD码转换程序,两者作用相同,哪一个执行效率高,为什么?
两个算法本质一样,
第一个啰嗦一点,第二个简洁。
效率只有微小差距..
化简第一个
unsigned char BCD_Decimal(unsigned char bcd)
{
return (bcd4)*10+(bcd0xf);
}
就能发现2个其实一样
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码
你不应该写16进制转BCD码的程序,你应该写10进制转BCD码的程序,
例如 36—0x36 这就是10进制转BCD码,
而你所做的16进制转BCD码是这样的:0x36—0x36
C语言将八位无符号二进制数转换成BCD码
第一步,将8位无符号二进制整数除以100,得到两个结果:商和余数,这个商就是3位压缩bcd码的最高4位(截掉高4位,留下低4位二进制码);
第二步,将上面的余数除以10,又得到两个结果:商和余数,将商的低4位作为3位压缩bcd码的中间4位,余数的低4位作为3位bcd码的最低4位。
在C语言中,如何将16进制转为BCD码,如何表达
#includestdio.h
char bcd[10][5]={"0000","0001","0010","0011","0100","0101","0110","0111","1000","1001"};
void hex2bcd(int x)
{if(x9)hex2bcd(x/10);
printf("%s ",bcd[x%10]);
}
int main()
{int n;
printf("请输入一个十六进制数:");
scanf("%x",n);
hex2bcd(n);
return 0;
}