一个将十六进制转换为二进制字符数组的函数

Posted whik

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个将十六进制转换为二进制字符数组的函数相关的知识,希望对你有一定的参考价值。

十六进制数转换为二进制数组的函数HexToBinStr

函数实现:


void HexToBinStr(int hex, char *bin_str, int str_size)
{
    int i;
    for (i = 0; i !=str_size; ++i)
    {
        bin_str[str_size - 1 - i] = hex % 2 + \'0\';
        hex /= 2;
    }
}

实际应用:

#include <stdlib.h>

#include <stdio.h>	

#define STR_SIZE 14	

long hex_value =0xffffef74;   //ef74=1110 1111 0111 0100低14位,10 1111 0111 0100

char bin_str[STR_SIZE];

long hex_tmp;	

void HexToBinStr(int hex, char *bin_str, int str_size)
{
    int i;
    for (i = 0; i !=str_size; ++i)
    {
        bin_str[str_size - 1 - i] = hex % 2 + \'0\';
        hex /= 2;
    }
}
int main(void)
{
    hex_tmp = hex_value&0x3fff;
    HexToBinStr(hex_tmp,bin_str,STR_SIZE);
    printf("hex_value: %x, hex_tmp: %x, binstr: %s  \\n",hex_value, hex_tmp, bin_str);
    for(int i=0; i< STR_SIZE; i++)
    {
        printf("%c", bin_str[i]);
    }	
    return 0;
}

实际运行结果:

实际运行结果


历史精选文章:


欢迎大家关注我的个人博客

或微信扫码关注我的公众号

以上是关于一个将十六进制转换为二进制字符数组的函数的主要内容,如果未能解决你的问题,请参考以下文章

在 C 代码中将 char 数组元素转换为等效的十六进制

c语言如何将字符串转为二进制的整型然后保存到整型数组里?

将数字数组转换为二进制数

如何在C中将无符号字符数组转换为十六进制字符串

编写十六进制的字符串转换为byte数组的函数: public byte[] hexStringToBytes(String hexString); 每两个

如何使用列表和字典将字符串转换为二进制代码