举例说明:假设int型整数为12345678,转化为BCD码后成为了32位的12345678,表示4个字节。
#include<stdio.h>
typedef unsigned long u32;
u32 inttoBCD(int m)
{
u32 r=0,n=1;
int a;
while(m)
{
a=m %10;
m=m/10;
r=r+n*a;
a=a<<4;
}
return r;
}
举例说明:假设BCD码为32位的12345678,一共四个字节,转化为int型整数后成为了12345678,
#include<stdio.h>
typedef unsigned long u32;
int BCDtoint(u32 m)
{
int a=0,b=1;
u32 n;
while(m)
{
n=0xF&m;
m=m>>4;
a=a+b*n;
b=b*10;
}
return a;
}