十六進位數轉換為二進位數組的函數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
",hex_value, hex_tmp, bin_str);
for(int i=0; i< STR_SIZE; i++)
{
printf("%c", bin_str[i]);
}
return 0;
}

實際運行結果:


歷史精選文章:

  • Jlink使用技巧之虛擬串口功能
  • Jlink使用技巧之讀取STM32內部的程序
  • Jlink使用技巧之J-Scope虛擬示波器功能
  • Jlink使用技巧之單獨下載HEX文件到單片機

  • 百度智能手環方案開源(含源碼,原理圖,APP,通信協議等)
  • elf格式轉換為hex格式文件的兩種方法

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

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


推薦閱讀:
相關文章