c语言16进制转2进制
时间: 2023-09-12 15:03:10 浏览: 47
以下是一个简单的c语言程序,可以将16进制数转换为2进制数:
```c
#include <stdio.h>
void hexToBin(char hex[]) {
int i = 0;
printf("Binary equivalent: ");
while (hex[i]) {
switch (hex[i]) {
case '0':
printf("0000 ");
break;
case '1':
printf("0001 ");
break;
case '2':
printf("0010 ");
break;
case '3':
printf("0011 ");
break;
case '4':
printf("0100 ");
break;
case '5':
printf("0101 ");
break;
case '6':
printf("0110 ");
break;
case '7':
printf("0111 ");
break;
case '8':
printf("1000 ");
break;
case '9':
printf("1001 ");
break;
case 'A':
case 'a':
printf("1010 ");
break;
case 'B':
case 'b':
printf("1011 ");
break;
case 'C':
case 'c':
printf("1100 ");
break;
case 'D':
case 'd':
printf("1101 ");
break;
case 'E':
case 'e':
printf("1110 ");
break;
case 'F':
case 'f':
printf("1111 ");
break;
default:
printf("\nInvalid hexadecimal digit %c", hex[i]);
return;
}
i++;
}
}
int main() {
char hex[100];
printf("Enter a hexadecimal number: ");
scanf("%s", hex);
hexToBin(hex);
return 0;
}
```
该程序首先提示用户输入一个16进制数,然后将该数传递给`hexToBin`函数进行转换,并输出结果。`hexToBin`函数使用一个`switch`语句将每个16进制数字转换为相应的4位2进制数字,并在控制台上输出它们。如果输入的数字包含非十六进制字符,则输出错误消息。