HEX和BCD码的相互转化
BCD码:十进制的数以二进制形式表示的十进制,常用8421码 从0到9,hex码和BCD码相同,BCD码单个数字只有从0000到1001 比如十进制16,对应的十六进制是10;对应的BCD码是0001 0110,其实成了十六进制的16,是十进制的22了 比如十进制27,对应十六进制是1B;对应BCD码是0010 0111,成了十六进制的27,是十进制的39了 unsigned char HEX2BCD(unsigned char hex_data) //HEX转为BCD子程序 { unsigned char temp; temp=(hex_data/10*16 + hex_data%10); return temp; } unsigned char BCD2HEX(unsigned char bcd_data) //BCD转为HEX子程序 { unsigned char temp; temp=(bcd_data/16*10 + bcd_data%16); return temp; }
HEX和ASCII码的相互转化
一些界面显示的东西往往是ASCII,需要和控制系统的变量之间相互转化
0x1234—>0x31 0x32 0x33 0x34