인터넷에서 찾아서 참고 하고 수정한 함수들...
/********************************************************************************************
한 비트값을 얻고자할때 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 );
long atol( const char *string );
'1.소프트웨어 이야기 > 09.ETC' 카테고리의 다른 글
두 점 사이의 각도 구하기 (0) | 2007.12.06 |
---|---|
문자열 처리 함수 (0) | 2007.12.06 |
윈도우 간단 메시지 보내기 (0) | 2007.12.06 |