#include "StdAfx.h" #include "BaseProcess.h" CBaseProcess::CBaseProcess(void) { } CBaseProcess::~CBaseProcess(void) { } DWORD CBaseProcess::GetHexValue( const char* Value ) { DWORD sum = 0; size_t StringCount = strlen(Value); int count = static_cast(StringCount); for (size_t index = 0; index < StringCount ; ++index) { sum += GetHexConvertor(Value[index]) * GetHexMulti(--count); } return sum; } /////////////////////////////////////////////////////////////////////////////////////////////////// //16Áø¼ö¸¦ 10Áø¼ö·Î ÄÁ¹öÅÍ ÇÏ´Â ºÎºÐ! int CBaseProcess::GetHexMulti( int Value ) { if( Value == 0) return 1; if(Value >= 1) return 16 * GetHexMulti(Value - 1); return 0; } int CBaseProcess::GetHexConvertor( char charset ) { if ('a' <= charset && charset <= 'f') //¼Ò¹®ÀÚÀΰ¡? charset = charset - 32; //´ë¹®ÀÚ·Î º¯È­ if ('A' <= charset && charset <= 'F') return charset - 'A' + 10; //´ë¹®ÀÚ¸é 16Áø¼ö¿¡ ÇØ´çµÇ´Â °ªÀ¸·Î º¯È¯. if ('0' <= charset && charset <= '9') //¼ýÀÚ ¹®ÀÚÀΰ¡? return charset - '0'; //¼ýÀÚ·Î º¯È¯ return 0; }