#include <stdio.h>;
#include <string.h>;
#include <stdlib.h>;
/*
* 10进制字符转成16进制字符
*/
int strDec2Hex(char* sDec, int iDecLen, char* sHex, int iHexLen)
{
char sSrc[65];
char sForamt[6];
unsigned long ulSrc;
memset(sSrc, 0, sizeof(sSrc));
memcpy(sSrc, sDec, iDecLen);
ulSrc = atol(sSrc);
sprintf(sForamt, "%%0%dX", iHexLen);
_snprintf(sHex, iHexLen, sForamt, ulSrc);
return ulSrc;
}
/*
* 2进制字符转成16进制字符
*/
int strBin2Hex(char* sBin, int iBinLen, char* sHex, int iHexLen)
{
char sSrc[65];
char sForamt[6];
unsigned long ulSrc;
memset(sSrc, 0, sizeof(sSrc));
memcpy(sSrc, sBin, iBinLen);
*(sSrc + 0) == '1' ? ulSrc = 1 : ulSrc = 0;
for (int i = 1; i < iBinLen; i++)
*(sSrc + i) == '1' ? ulSrc = ulSrc * 2 + 1 : ulSrc = ulSrc * 2 + 0;
sprintf(sForamt, "%%0%dX", iHexLen);
_snprintf(sHex, iHexLen, sForamt, ulSrc);
return ulSrc;
}
c++ 十六进制字符串转换二进制字符串, 二进制在转换十进制
最新推荐文章于 2025-04-23 21:48:51 发布