十六进制数转换为二进制数组的函数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;
}
实际运行结果:
历史精选文章:
- Jlink使用技巧之读取STM32内部的程序
- Jlink使用技巧之单独下载HEX文件到单片机
- Jlink使用技巧之J-Scope虚拟示波器功能
- 百度智能手环方案开源(含源码,原理图,APP,通信协议等)
- 如何在Keil-MDK开发环境生成Bin格式文件
- elf格式转换为hex格式文件的两种方法
- 两个HC-05蓝牙模块互相绑定构成无线串口模块
- STM32实战应用(一)——1602蓝牙时钟1液晶的显示测试
- 单片机之模块化编程
- 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》
- 个人博客添加网易云音乐Flash插件
- 两行代码搞定博客访问量统计
欢迎大家关注我的个人博客
或微信扫码关注我的公众号