Files
Sun1602/Tools/CrashInfomationReport/CrashReport/BaseProcess.cpp
T
2022-10-26 12:25:11 +08:00

52 lines
1.1 KiB
C++

#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<int>(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;
}