如何将BE01045156ED转换成BCD码?
解决方案 »
- Win7上用detour截获win32 API 失败?
- 用CHttpConnection 取得的网乱数据是乱码(超难,高手请进来测试)
- 请问,可以简单介绍一下CGridCtrl吗?xiexie
- vc+sql+ado日期写入数据库总是出问题
- 给小弟指条路(c/c++的困惑)==========》
- 程序中如何判断一个字符串变量中包含的汉字数和其他英文字符数
- 高手~求取得系统时间的函数(win32下)
- GetProcAddress没有正确返回地址的问题,在线等待!!!
- 在多线程(UI)中如何在某个线程的主窗口中获得该线程的线程的id???(wait on line....)
- 为何自己写的dll调用函数会出错,详见内容
- VC++6.0添加ACTIVEX控件的时候 GALLERY这个文件夹不更新已注册的控件,求解答
- 关于server能够不断accept客户端发起的connect请求的实现方法?
你上面的16进制,每一位站4个二进制位。。
ABCDEF 分别代表10,11,12,13,14,15.。
自己去转换吧
首先声明一点,你上面的每一位在计算机中都占4位。。
{
int nBCDByte = nCount >> 1;
int nLastChar = strlen(pSource);
int nFirst = nCount - nLastChar;
char c;
nLastChar--;
if (nFirst < 0)
return false;
memset(pDest, 0, nBCDByte);
for (int i = nCount-1; i >= nFirst; i--)
{
if (pSource[nLastChar] < 0x30 || pSource[nLastChar] > 0x39)
return false;
else
c = pSource[nLastChar--];
c &= ~0x30;
if (!(i%2))
c <<= 4;
pDest[i>>1] |= c;
}
return true;
}