编写十六进制转十进制的程序
时间: 2023-04-05 19:00:33 浏览: 49
你好,以下是我的回答:
可以使用以下代码实现十六进制转十进制的程序:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
char hex[20];
int decimal = 0, i, j, len;
printf("请输入一个十六进制数:");
scanf("%s", hex);
len = strlen(hex);
for(i=0; hex[i]!='\0'; i++)
{
len--;
if(hex[i]>='0' && hex[i]<='9')
{
decimal += (hex[i]-'0')*pow(16,len);
}
else if(hex[i]>='a' && hex[i]<='f')
{
decimal += (hex[i]-'a'+10)*pow(16,len);
}
else if(hex[i]>='A' && hex[i]<='F')
{
decimal += (hex[i]-'A'+10)*pow(16,len);
}
else
{
printf("输入的不是十六进制数!\n");
exit(0);
}
}
printf("转换后的十进制数为:%d\n", decimal);
return 0;
}