#include <stdio.h>
#include <string.h>
int pow(int a,int b);
int main(int argc,char *argv[])
{
if(argc!=2)
{
printf("usage:hextoint hex\n");
return -1;
}
int len = 0;
int num = 0;
int sum = 0;
int p = 0;
int i = 0;
len = strlen(argv[1]);
char buff[len];
strcpy(buff, argv[1]);
for(i=0;i<len;i++)
{
if(buff[i]<='9')//获取每一位的十进制表示
{
num = buff[i] - '0';
}
else
{
num = buff[i] - 'A' + 10;
}
p = pow(16, len-i-1);
sum += num * p;
}
printf("%s的十进制格式是%d\n", buff, sum);
return 0;
}
int pow(int a, int b)//计算a的b次方
{
int ret = 1;
int i = 0;
for(i=0;i<b;i++)
{
ret *= a;
}
return ret;
}
十六进制数转换为十进制-c语言
最新推荐文章于 2023-10-25 10:30:54 发布