一個將十六進位制轉換為二進位制字元陣列的函式
阿新 • • 發佈:2018-12-18
十六進位制數轉換為二進位制陣列的函式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; }
實際執行結果:
歡迎大家關注我的個人部落格 微信掃碼關注我的公眾號
不定期更新個人學習筆記和技術總結,歡迎大家互相學習交流!