인터넷에서 찾아서 참고 하고 수정한 함수들...

/********************************************************************************************
한 비트값을 얻고자할때  index는 8bit 중 그 위치
GetBits (변수 ,  순서);  
7 6 5 | 4 3 2 1 0
GetBit(word,5); 5번째 값을 가져옴.. ^^
********************************************************************************************/
int GetBit (unsigned char data, int index) 
{
    unsigned char mask = 0x01;
    mask = mask << index;
    int i = data & mask;
    i = i >> index;
    return i;
}

/********************************************************************************************
2bit이상의 값을 추출할때 index(7-0)는 마지막 위치 ,  size는 가져오는 비트수
GetBits (변수 ,  5 , 3);  7 - 5까지 값을 가져옴.. ^^
7 6 5 | 4 3 2 1 0
********************************************************************************************/
int GetBits (unsigned char data, int index, int size) 
{
   unsigned char mask = 0xFF;
   mask = mask << (8-size);
   mask = mask >> (8-size);
   mask = mask << index;
   int i = data & mask;
   i = i >> index;
   return i;
}

// 형변환 모음
// CString형을 double형으로 변환
double CString2double(CString str)
{
   char *Temp = (LPSTR)(LPCSTR)str;
   return atof(Temp);
}

// double형을 CString형으로 변환
CString double2CString(double num)
{
   CString Temp;
  Temp.Format("%f", num);
  return Temp;
}

// CString형을 char* 형으로 바꾸는 함수
char *CString2char(CString str)
{
   char *charTemp = (LPSTR)(LPCSTR)str;
   return charTemp;
}


// 그외 형변환 참조 기존 자료들..
// int -> char *
Visual C++ 에는 다음과 같은 함수가 있습니다.
int , __int64 , unsigned __int64 등의 데이터형을 char* 형으로 바꾸어주는 함수들입니다.
인자에 대해 설명하자면 int value 는 입력값, char *string 은 출력값, int radix 는 출력될 진법을 표시합니다.
예를 들어 radix를 16으로 설정하면 16진수로 출력한다는 말이죠. radix 값은 2~36 사이의 값만 가능합니다.

char *_itoa( int value, char *string, int radix );
char *_i64toa( __int64 value, char *string, int radix );
char * _ui64toa( unsigned __int64 value, char *string, int radix );
wchar_t * _itow( int value, wchar_t *string, int radix );
wchar_t * _i64tow( __int64 value, wchar_t *string, int radix );
wchar_t * _ui64tow( unsigned __int64 value, wchar_t *string, int radix );

// char* 형을 double 형으로 바꾸는 함수
double atof( const char *string );

// char* 형을 int 형으로 바꾸는 함수
int atoi( const char *string );

// char* 형을 __int64 형으로 바꾸는 함수
__int64 _atoi64( const char *string );

// char* 형을 long 형으로 바꾸는 함수
long atol( const char *string );

'1.소프트웨어 이야기 > 09.ETC' 카테고리의 다른 글

두 점 사이의 각도 구하기  (0) 2007.12.06
문자열 처리 함수  (0) 2007.12.06
윈도우 간단 메시지 보내기  (0) 2007.12.06

+ Recent posts