나미/C

hexTobinary

규남 2016. 12. 16. 11:17
반응형

//------------------------------------------------

// 2016.10.17

// 만든이 : 이 규남

// 함수명 : hexTobinary

// 기능 : 1byte 헥사코드를 binary로 변환하는 기능 

//------------------------------------------------


char* hexTobinary(char hex[])

{

int i;

char str[2];

char temp1[4];

char temp2[4];

static char return_data[8];

memset(str, 0x00, sizeof(str));

memset(temp1, 0x00, sizeof(temp1));

memset(temp2, 0x00, sizeof(temp2));

sprintf(str, "%02x", hex[0]);

for(i=0; i<2; i++)

{

if(i == 0)

{

switch(str[i])

{

case '0' :

sprintf(temp1, "0000");

break;

case '1' :

sprintf(temp1, "0001");

break;

case '2' :

sprintf(temp1, "0010");

break;

case '3' :

sprintf(temp1, "0011");

break;

case '4' :

sprintf(temp1, "0100");

break;

case '5' :

sprintf(temp1, "0101");

break;

case '6' :

sprintf(temp1, "0110");

break;

case '7' :

sprintf(temp1, "0111");

break;

case '8' :

sprintf(temp1, "1000");

break;

case '9' :

sprintf(temp1, "1001");

break;

case 'a' :

sprintf(temp1, "1010");

break;

case 'b' :

sprintf(temp1, "1011");

break;

case 'c' :

sprintf(temp1, "1100");

break;

case 'd' :

sprintf(temp1, "1101");

break;

case 'e' :

sprintf(temp1, "1110");

break;

case 'f' :

sprintf(temp1, "1111");

break;

default : 

break;

}

}

else if(i == 1)

{

switch(str[i])

{

case '0' :

sprintf(temp2, "0000");

break;

case '1' :

sprintf(temp2, "0001");

break;

case '2' :

sprintf(temp2, "0010");

break;

case '3' :

sprintf(temp2, "0011");

break;

case '4' :

sprintf(temp2, "0100");

break;

case '5' :

sprintf(temp2, "0101");

break;

case '6' :

sprintf(temp2, "0110");

break;

case '7' :

sprintf(temp2, "0111");

break;

case '8' :

sprintf(temp2, "1000");

break;

case '9' :

sprintf(temp2, "1001");

break;

case 'a' :

sprintf(temp2, "1010");

break;

case 'b' :

sprintf(temp2, "1011");

break;

case 'c' :

sprintf(temp2, "1100");

break;

case 'd' :

sprintf(temp2, "1101");

break;

case 'e' :

sprintf(temp2, "1110");

break;

case 'f' :

sprintf(temp2, "1111");

break;

default : 

break;

}

}

}

sprintf(return_data, "%s%s", temp2, temp1);

return return_data;

}


나같은경우 그냥 단순하게 만들려고 약간 때려박기 식으로 만듬 ㅋㅋ

728x90
반응형

'나미 > C' 카테고리의 다른 글

C언어 텍스트 컬러  (0) 2017.07.12
switch case문안에 변수사용하기  (0) 2017.06.21
C언어 파일읽기  (0) 2017.06.21
공유메모리 key 하나로 구조체 배열할당하기  (0) 2017.03.17
hexTobinary(2)  (0) 2017.03.08
공유메모리 생성 (단일)  (0) 2016.12.16
시간 날짜 표시  (0) 2016.12.16
파일 쓰기  (0) 2016.12.16
우분투 기준 serial port 열기(장비)  (0) 2016.12.16
C언어 OCI LIB으로 코딩하기!!  (0) 2016.12.15