在做嵌入式软件的设计中,经常会遇到十六进制、BCD码与十进制之间的转换,最近做M1卡的应用中,涉及了大量的十六进制、BCD码与十进制之间的转换。笔者通过对BCD码、十六进制 权的理解,轻松的实现了他们之间的互换。
#include
#include
/
//
//功能:二进制取反
//
//输入:const unsigned char *src 二进制数据
// int length 待转换的二进制数据长度
//
//输出:unsigned char *dst 取反后的二进制数据
//
//返回:0 success
//
//
int convert(unsigned char *dst, const unsigned char *src, int length)
{
int i;
for(i=0; i
{
dst[i] = src[i]^0xFF;
}
return 0;
}
//
//
//功能:十六进制转为十进制
//
//输入:const unsigned char *hex 待转换的十六进制数据
// int length 十六进制数据长度
//
//输出:
//
//返回&
#include
#include
/
//
//功能:二进制取反
//
//输入:const unsigned char *src 二进制数据
// int length 待转换的二进制数据长度
//
//输出:unsigned char *dst 取反后的二进制数据
//
//返回:0 success
//
//
int convert(unsigned char *dst, const unsigned char *src, int length)
{
int i;
for(i=0; i
{
dst[i] = src[i]^0xFF;
}
return 0;
}
//
//
//功能:十六进制转为十进制
//
//输入:const unsigned char *hex 待转换的十六进制数据
// int length 十六进制数据长度
//
//输出:
//
//返回&