16进制转为10进制 c语言代码
时间: 2023-07-31 13:13:41 浏览: 94
下面是一个将16进制数转换为10进制数的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main() {
char hex[20];
int decimal = 0, i = 0, val, len;
printf("Enter a Hexadecimal Number: ");
scanf("%s", hex);
len = strlen(hex);
len--;
for(i = 0; hex[i]!='\0'; i++) {
if(hex[i]>='0' && hex[i]<='9') {
val = hex[i] - 48;
}
else if(hex[i]>='a' && hex[i]<='f') {
val = hex[i] - 97 + 10;
}
else if(hex[i]>='A' && hex[i]<='F') {
val = hex[i] - 65 + 10;
}
decimal += val * pow(16, len);
len--;
}
printf("Decimal Number is: %d", decimal);
return 0;
}
```
在运行时,它会提示用户输入一个16进制数,然后将其转换为10进制数并输出。
阅读全文