오답노트

int -> char (상하위 비트 분리) 본문

C,C++

int -> char (상하위 비트 분리)

권멋져 2021. 2. 9. 09:55

char szBuffer[64];

char *pBlockNum = strtok(szRegister,":");
int  nBlockNum = atoi(pBlockNum);

 

szBuffer[0] = nBlockNum & 0x00ff;
szBuffer[1] = (nBlockNum>>8) & 0x00ff ;

 

// int -> char 두 배열에 나눠서 들어감 ( 상하위비트 나눔)

 

//위처럼 분리시 상하위 비트 바뀜

 

// 아래처럼 분리시 상하위 비트 그대로

 

szBuffer[0] = (nBlockNum>>8) & 0x00ff ;
szBuffer[1] = nBlockNum & 0x00ff;

 

/*

0x1234 일때 

 

szBuffer[0] = (nBlockNum>>8) & 0x00ff ; // 0x12

szBuffer[1] = nBlockNum & 0x00ff; // 0x34

 

szBuffer[0] = (nBlockNum>>8) & 0x00ff ; // 0x34
szBuffer[1] = nBlockNum & 0x00ff; //0x12

 

*/

'C,C++' 카테고리의 다른 글

scanf, scanf_s 용법 차이  (0) 2021.03.27
포인터와 배열의 관계  (0) 2021.03.27
[C,C++] 파일 읽기  (0) 2021.03.18
이중배열 동적할당 및 해제  (0) 2021.03.11
char -> WORD -> int (비트연산)  (0) 2021.02.09