BCD码转换成十进制整形数
概述:BCD码表现形式为十六进制,但并非为十六的进制,所以取数值只要位取再者相乘进制值就可以了。
#include <stdio.h>
int bcd2dec(int val)
{
int i;
i=(val>>4)*10+val&0xf;
return i;
}
int main(void)
{
int a=0x10;
printf("res=%d\n",bcd2dec(a));
return 0;
}
十进制整形数转换为十六进制
概述:十进制转换为十六进制运用十六进一位即可
#include <stdio.h>
int dec2hex(int val)
{
int i;
i=val/16*10+val%16;
return i;
}
int main(void)
{
int a=11;
printf("hex=%#x\n",dec2hex(a));
return 0;
}
十进制整形数转换为BCD码
概述:以十进一位但是之后相乘用十六
#include <stdio.h>
int dec2bcd(int val)
{
int i;
i=val/10*16+val%10;
return i;
}
int main(void)
{
int a=11;
printf("hex=%#x\n",dec2bcd(a));
return 0;
}