HEX和BCD互转

在一些时钟芯片当中,常常使用BCD码来存储年月日时分秒的数据
这个时候为了方便操作,我们就需要进行BCD⇔HEX相互的转换

BCD→HEX的子程序

1
2
3
4
unsigned char BCD2HEX(uchar val)
{
return ((val>>4)*10)+(val&0x0f);
}

HEX→BCD的子程序

1
2
3
4
unsigned char HEX2BCD(uchar val)
{
return (((val%100)/10)<<4)|(val%10);
}

使用C语言编写,可以直接移植到想要使用的地方。
使用方法不再赘述。