c语言写一个十六进制转十进制
时间: 2023-10-19 15:16:05 浏览: 90
十六进制转化为十进制(C编写,附代码)
3星 · 编辑精心推荐
以下是一个 C 语言程序,可以将十六进制数转换为十进制数:
```c
#include <stdio.h>
#include <math.h>
int main(void) {
char hex[10];
int i, len, dec = 0;
printf("请输入一个十六进制数:");
scanf("%s", hex);
len = strlen(hex);
for (i = 0; hex[i] != '\0'; i++) {
if (hex[i] >= '0' && hex[i] <= '9') {
dec += (hex[i] - '0') * pow(16, len - 1);
} else if (hex[i] >= 'A' && hex[i] <= 'F') {
dec += (hex[i] - 'A' + 10) * pow(16, len - 1);
} else if (hex[i] >= 'a' && hex[i] <= 'f') {
dec += (hex[i] - 'a' + 10) * pow(16, len - 1);
}
len--;
}
printf("该十六进制数对应的十进制数为:%d", dec);
return 0;
}
```
程序首先提示用户输入一个十六进制数,然后读取用户输入的十六进制数并将其存储在一个字符数组中。接下来,程序通过循环处理字符数组中的每个字符,并根据其十六进制值计算出相应的十进制值。最后,程序将计算得到的十进制值输出给用户。
阅读全文