4字节BCD码转4字节uint方法

天大地大妈咪最大 提交于 2020-01-06 15:28:43

 

u32 ch1=0;
u32 int1=0;

int1=0;
int1= (u8) (str[9]/0x10); int1*=10;//BCD卡号变换为16进制
int1+=(u8)(str[9]%0x10); int1*=10;
int1+=(u8)(str[10]/0x10); int1*=10;
int1+=(u8)(str[10]%0x10); int1*=10;
int1+=(u8)(str[11]/0x10); int1*=10;
int1+=(u8)(str[11]%0x10); int1*=10;
int1+=(u8)(str[12]/0x10); int1*=10;
int1+=(u8)(str[12]%0x10); 

/*int1= (u8) (str[9]>>4); int1*=10;//BCD卡号变换为16进制
int1+=(u8)(str[9]&0x0f); int1*=10;
int1+=(u8)(str[10]>>4); int1*=10;
int1+=(u8)(str[10]&0x0f); int1*=10;
int1+=(u8)(str[11]>>4); int1*=10;
int1+=(u8)(str[11]&0x0f); int1*=10;
int1+=(u8)(str[12]>>4); int1*=10;
int1+=(u8)(str[12]&0x0f);*/ 

ch1=int1/0x10000;
txBuffer[1]=ch1/0x100;
txBuffer[2]=ch1%0x100;
ch1=int1%0x10000;
txBuffer[3]=ch1/0x100;
txBuffer[4]=ch1%0x100;

str[9],str[10],str[11],str[12]是bcd码,txBuffer[1],txBuffer[2],txBuffer[3],txBuffer[4]是转化后的十六进制数

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!