</pre><pre name="code" class="cpp">#include <stdio.h>
#include <stdlib.h>
#include <Math.h>
int Dec2BCD(int data)
{
int i=data,j=0,k=0;
int sum=0;
while(1)
{
j = i%10;
i = i/10;
sum = sum+(j<<4*k);
k++;
if(i==0)break;
}
return sum;
}
int BCD2Dec(int data)
{
int k=0,sum=0;
while(data>0)
{
sum += ceil(pow(10,k))*(data&0xf);
data=data>>4;
k++;
}
return sum;
}
int main()
{
printf("Hello world!\n");
printf("Dec2BCD the sum is %x\n",Dec2BCD(0x3f));
printf("BCD2Dec the sum is %x\n",BCD2Dec(0x18));
int i=0;
for(;i<65536;i++)
{
Dec2BCD(i);
if(i!=BCD2Dec(Dec2BCD(i)))
{
printf("!=\n");
break;
}
}
printf("i is %d\n",i);
return 0;
}
实现十进制与压缩bcd码之间的转换
最新推荐文章于 2023-05-15 17:08:50 发布