BCD INT 转换

来源:互联网 发布:大数据学院 编辑:程序博客网 时间:2024/05/29 12:41
unsigned long  BCDToDec(const unsigned char *bcd, int length) {     int tmp;     unsigned long dec = 0;         for(int i = 0; i < length; i++)     {         tmp = ((bcd[i] >> 4) & 0x0F) * 10 + (bcd[i] & 0x0F);            dec += tmp * pow(100, length - 1 - i);               }         return dec; } int DecToBCD(int Dec, unsigned char *Bcd, int length) {     int tmp;         for(int i = length - 1; i >= 0; i--)     {         tmp = Dec % 100;         Bcd[i] = ((tmp / 10) << 4) + ((tmp % 10) & 0x0F);         Dec /= 100;     }         return 0; }