一個將十六進制轉換為二進制字符數組的函數


十六進制數轉換為二進制數組的函數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;
}

實際運行結果:

實際運行結果


歷史精選文章:


歡迎大家關注我的個人博客

或微信掃碼關注我的公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM