十六进制字符串转换成十进制整数的C++实现源代码

int str2Hex( char *pstr)
{
	int ans = 0;
	char *pt;
	pt = pstr;
	if( !pstr )
	{
		return 0;
	}
	while( *pt )
	{  
		ans = ans<<4;
		if( ( *pt >=  'A' && *pt <=  'F' ) || ( *pt >=  'a' && *pt <=  'f' ) ){
			//cout << ((*pt & 0x5f) -0x37) << endl;
			//cout << ((0x44 & 0x5f) -0x37) << endl;//0x0D==13
			ans  = ans | ((*pt & 0x5f) -0x37);
		}
		else
			ans  = ans | (*pt) -0x30;
		pt++;
	}
	return ans;
}


 

你可能感兴趣的:(c++,十六进制,十进制,字符串)