c语言,输入一个32位二进制,转换为十六进制并输出
时间: 2023-05-29 21:06:23 浏览: 454
将二进制转化为十六进制
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char binary[33];
printf("请输入32位二进制数:");
scanf("%s", binary);
if (strlen(binary) != 32) {
printf("输入错误!\n");
return 0;
}
int i = 0, j = 0;
char hex[9];
while (i < 32) {
int dec = (binary[i] - '0') * 8 + (binary[i + 1] - '0') * 4
+ (binary[i + 2] - '0') * 2 + (binary[i + 3] - '0');
if (dec < 10) {
hex[j++] = dec + '0';
} else {
hex[j++] = dec - 10 + 'A';
}
i += 4;
}
hex[j] = '\0';
printf("十六进制为:%s\n", hex);
return 0;
}
```
阅读全文