c的:
输入16bit的16进制数,输出16bit的bcd码(即4位10进数)。注意,结果中丢掉了万位数,只留了4位,如果需要万位,请自己改一下。
unsigned int hex2bcd(unsigned int hex_data)
{
unsigned int bcd_data=0;
unsigned int temp;
temp=hex_data%10000;
bcd_data=bcd_data|temp/1000<<12;
temp=temp%1000;
bcd_data=bcd_data|temp/100<<8;
temp=temp%100;
bcd_data=bcd_data|temp/10<<4;
bcd_data=bcd_data|temp%10;
return bcd_data;
}