C, C++

1Byte를 2진수로 변경

슬픈달 2019. 1. 23. 09:43
반응형

void HexToBin(char *pcBin, char *pcTmp)
{
    int i =0;
    const char *BinTable[] = { "0000","0001","0010","0011","0100","0101","0110","0111",

                            "1000","1001","1010","1011","1100","1101","1110","1111"};
    char *pnt;
    char c;

    pnt = pcBin;
    memset(pcTmp, 0x00, sizeof(pcTmp));

    while (*pnt)
    {
        c = *pnt++;
        if (c >= 'A')
            c -= 7;    /* A보다 큰 16진수인 경우 */
        c -= '0';
        if( i == 0)
            sprintf(pcTmp, "%s ", BinTable[c]);
        else
            strcat(pcTmp, BinTable[c]);
        i++;
    }
}

반응형

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

포인트 함수 < 포인트로 함수를 호출하는 방법>  (0) 2019.01.23
define, macro  (0) 2019.01.23
inet_addr, inet_ntoa  (0) 2019.01.23
static_cast, const_cast, reinterpret_cast  (0) 2019.01.23
클래스를 배열로(class - array)  (0) 2019.01.23