1、将十六进制字符串转化为十进制整数
WORD DEC( CString str )
{
WORD decvalue=0;
int i=0;
for( i=0 ; i<str.GetLength() ; i++)
{
if(str[i]>= 'a'&&str[i]<='f')
{
decvalue*=16;
decvalue+=str[i]-'f'+15;
}
else if ((str[i]>='A') && (str[i]<='F'))
{
decvalue*=16;
decvalue+=str[i]-'F'+15;
}
else if(str[i]>='0'&&str[i]<='9')
{
decvalue*=16;
decvalue+=str[i] - '0';
}
}
return decvalue;
}
2、将二进制字符串转化为十进制整数
WORD BINToDEM( CString str )
{
WORD decvalue=0;
int i=0;
for( i=0 ; i<str.GetLength() ; i++)
{
if(str[i] == '1')
{
decvalue += WORD(pow(2, (str.GetLength() - 1 - i) ));
}
}
return decvalue;
}
3、将十进制整数转化为二进制字符串
CString DECToBIN( int idata )
{
CString tempStr, outStr;
int iBIN[32];//存储每bit二进制的数组
int i = 0;
while (idata)
{
iBIN[i] = idata%2;
idata = idata/2;
i++;
}
for (int j = i-1; j >= 0; j--)
{
tempStr.Format(L"%d", iBIN[j]);
outStr = outStr + tempStr;
}
return outStr;
}