C语言—16进制 10进制 BCD码之间的转换
(2014-02-14 09:26:45)
标签:
c语言 |
分类: 学习交流 |
#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
十六进制数据长度
//
//输出:
//
//返回:int
rslt
转换后的十进制数据
//
//思路:十六进制每个字符位所表示的十进制数的范围是0 ~255,进制为256
//
左移8位(<<8)等价乘以256
//
/////////////////////////////////////////////////////////
unsigned long HextoDec(const unsigned char *hex, int length)
{
int i;
unsigned long rslt = 0;
for(i=0;
i
{
rslt += (unsigned int)(hex[i])<<(8*(length-1-i));
}
#include
/////////////////////////////////////////////////////
//
//功能:二进制取反
//
//输入:const unsigned char *src
//
//
//输出:unsigned char *dst
//
//返回:0
//
//////////////////////////////////////////////////////
int convert(unsigned char *dst, const unsigned char *src, int length)
{
}
//////////////////////////////////////////////////////////
//
//功能:十六进制转为十进制
//
//输入:const unsigned char *hex
//
//
//输出:
//
//返回:int
//
//思路:十六进制每个字符位所表示的十进制数的范围是0 ~255,进制为256
//
//
/////////////////////////////////////////////////////////
unsigned long HextoDec(const unsigned char *hex, int length)
{