zoukankan      html  css  js  c++  java
  • BIN转换成HEX格式及HEX转换成BIN的两个函数接口

    unsigned char HEX2BYTE(unsigned char hex_ch)
    {
        if (hex_ch >= '0' && hex_ch <= '9')
        {
            return hex_ch - '0';
        }
    
        if (hex_ch >= 'a' && hex_ch <= 'f')
        {
            return hex_ch - 'a' + 10;
        }
    
        if (hex_ch >= 'A' && hex_ch <= 'F')
        {
            return hex_ch - 'A' + 10;
        }
    
        return 0x00;
    }
    
    unsigned char _4BIT2HEX(unsigned char part_cn)
    {
        if (part_cn >= 10) {
            return (unsigned char )(part_cn - 10 + 'A');
        } else {
            return (unsigned char )(part_cn + '0');
        }
    }
    
    void StrToHex(const unsigned char* in, long inlen, unsigned char* out, long* outlen) 
    {
        *outlen = inlen/2;
        memset(out, 0, *outlen);
        for (int i = 0; i < *outlen; i ++) {
            out[i] = (HEX2BYTE(in[i*2]) << 4) | HEX2BYTE(in[i*2 + 1]);
        }
    }
    
    void HexToStr(const unsigned char* in, long inlen, unsigned char* out, long* outlen)
    {
        *outlen = inlen*2;
        memset(out, 0, *outlen  + 1);
        for (int i = 0, j = 0; i < *outlen; i ++, i++, j++) {
            out[i] = _4BIT2HEX(((in[j]) & 0xF0)>>4);
            out[i+1] = _4BIT2HEX(((in[j]) & 0x0F));
        }
    }
  • 相关阅读:
    学习日记(2.19 BP神经网络完整代码解读)
    学习日记(2.18)
    学习日记2.17
    学习日记(2.15---2.16)
    最后的作业
    C++第五次作业
    第四次作业:结对编程
    C++第四次作业
    第三次作业:原型设计
    conda基本操作
  • 原文地址:https://www.cnblogs.com/eaglexmw/p/11118530.html
Copyright © 2011-2022 走看看