C语言 char转long int

该问题是在工作中 需要把 一逻辑编号转到物理IMEI编号  一个起始的IMIE 也就是 char buf[]; 逻辑编号 是short型  但是 要根据逻辑编号自动生成相应的物理编号。

数组中的 是以BCD码形式存储的 需要 从BCD码转到字符串。   转换完成后翻转数组  然后进行 内存拷贝 然后进行运算 然后在拷贝 翻转 

 int main(void)
{
int i;
unsigned  long int dimei,fpd;
unsigned char im[8];
unsigned char im1[100];
im[0]=0x81;
im[1]=0x10;
im[2]=0x01;
im[3]=0x01;
im[4]=0x01;
im[5]=0x01;
im[6]=0x01;
im[7]=0x42;
memset((void*)im1,0,100);

num_BCD_to_char((const char *)im,8,(const char *)im1);
printf("%s\t stringlen=%d\n",im1,strlen(im1));
Reverse_buf(im1,16);
memcpy((void*)&fpd,im1,8);
printf("%llu\n",fpd);
fpd+=1;
memcpy(im1,&fpd,8);
Reverse_buf(im1,16);
printf("%s\t stringlen=%d\n",im1,strlen(im1));
Reverse_buf(im1,16);
memcpy((void*)&fpd,im1,8);
printf("%llu\n",fpd);
fpd+=1;
memcpy(im1,&fpd,8);
Reverse_buf(im1,16);
printf("%s\t stringlen=%d\n",im1,strlen(im1));
Reverse_buf(im1,16);
memcpy((void*)&fpd,im1,8);
printf("%llu\n",fpd);
fpd+=1;
memcpy(im1,&fpd,8);
Reverse_buf(im1,16);
printf("%s\t stringlen=%d\n",im1,strlen(im1));
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值