C语言16进制转2进制
时间: 2023-08-31 10:05:18 浏览: 124
您可以使用C语言中的一些位操作符来将16进制转换为2进制。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
char hex_num[] = "1F"; // 16进制数1F
int i, decimal_num = 0;
// 将16进制数转换为10进制数
for (i = 0; hex_num[i] != '\0'; i++) {
if (hex_num[i] >= '0' && hex_num[i] <= '9') {
decimal_num = decimal_num * 16 + (hex_num[i] - '0');
} else if (hex_num[i] >= 'A' && hex_num[i] <= 'F') {
decimal_num = decimal_num * 16 + (hex_num[i] - 'A' + 10);
} else if (hex_num[i] >= 'a' && hex_num[i] <= 'f') {
decimal_num = decimal_num * 16 + (hex_num[i] - 'a' + 10);
}
}
// 将10进制数转换为2进制数
int binary_num[100], j = 0;
while (decimal_num > 0) {
binary_num[j] = decimal_num % 2;
decimal_num = decimal_num / 2;
j++;
}
// 输出2进制数
printf("2进制数为:");
for (i = j - 1; i >= 0; i--) {
printf("%d", binary_num[i]);
}
printf("\n");
return 0;
}
```
该程序将16进制数"1F"转换为2进制数"11111"。
阅读全文