C语言16进制转10进制完整代码
时间: 2023-10-29 21:32:12 浏览: 123
kaGgxQxST,c语言二转16进制源码,c语言程序
#include<stdio.h>
#include<math.h>
#include<string.h>
int hexToDecimal(char hex[]);
int main(){
char hex[20];
printf("请输入一个16进制数:");
scanf("%s",hex);
printf("十进制数为:%d\n", hexToDecimal(hex));
return 0;
}
int hexToDecimal(char hex[]){
int len = strlen(hex);
int decimal = 0;
for(int i=0; i<len; i++){
int val = 0;
if(hex[i]>='0' && hex[i]<='9'){
val = hex[i] - '0';
}
else if(hex[i]>='a' && hex[i]<='f'){
val = hex[i] - 'a' + 10;
}
else if(hex[i]>='A' && hex[i]<='F'){
val = hex[i] - 'A' + 10;
}
decimal += val * pow(16,len-i-1);
}
return decimal;
}
阅读全文