C语言 四位二进制转十六进制
时间: 2025-02-07 09:52:29 浏览: 22
C语言实现四位二进制数转换为十六进制数
在C语言中,可以编写一个函数来处理四位二进制字符串并将其转换为相应的十六进制字符。下面是一个具体的例子:
#include <stdio.h>
#include <string.h>
char binaryToHex(char *binary) {
int decimal = 0;
for (int i = 0; i < strlen(binary); ++i) {
if (binary[i] == '1') {
decimal += 1 << (3 - i);
}
}
const char hexChars[] = "0123456789ABCDEF";
return hexChars[decimal];
}
int main() {
char binaryString[5]; // 假设输入总是有效的4位二进制串
printf("请输入一个4位的二进制字符串: ");
scanf("%s", binaryString);
if(strlen(binaryString) != 4){
printf("错误:输入不是4位。\n");
return 1;
}
char result = binaryToHex(binaryString);
printf("对应的十六进制数值是 %c\n", result);
return 0;
}
此代码片段定义了一个binaryToHex
函数,该函数接收指向表示四位二进制数的字符串指针作为参数,并返回代表相应十六进制值的一个字符[^1]。
当运行这段程序时,它会提示用户提供一个四比特长度的二进制序列,之后计算其等价的十六进制形式并打印出来。如果用户输入的有效,则显示对应的结果;否则报告错误消息[^2]。
相关推荐


















