c语言二进制转十六进制代码
时间: 2023-05-27 16:03:15 浏览: 135
#include <stdio.h>
int main()
{
int binary[4] = {0,0,0,0}; // 4位二进制数
int decimal = 0; // 十进制数
char hex[2] = {'0', '0'}; // 2位十六进制数
printf("Enter a binary number (4 bits): ");
for(int i=0; i<4; i++)
{
scanf("%1d", &binary[i]); // 逐位读入二进制数
decimal = decimal * 2 + binary[i]; // 将二进制数转换为十进制数
}
// 将十进制数转换为十六进制数
int remainder;
for(int i=1; i>=0; i--)
{
remainder = decimal % 16; // 取余数
decimal /= 16; // 去除余数
if(remainder < 10)
hex[i] = remainder + '0'; // 将数字转换为字符
else
hex[i] = remainder - 10 + 'A'; // 将数字转换为十六进制字符
}
printf("Hexadecimal equivalent: %c%c\n", hex[0], hex[1]);
return 0;
}
阅读全文