欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

输入一个十六进制的字符串转换为十进制的整数

程序员文章站 2023-12-27 21:54:03
...

在十六进制中0到9的字符依次对应十进制的0到9;十六进制中的a到f对应十进制中的10到15;其中a到f不分大小写,编写一个程序输入一个十六进制的字符串,输出对应的十进制整数。
代码如下:

#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
	char ch;
	int j = 0;
	int sum = 0,i=0;
	char str[50];
	scanf("%s", &str);
	int n = strlen(str);
	for (i = n - 1; i >= 0; i--)
	{
		if (str[i] >= '0'&&str[i] <= '9') 
		{ 
			sum = sum + (str[i] - '0')*pow(16, j); j++;
		}
		if (str[i] >= 'a'&&str[i] <= 'f')
		{
			sum = sum + (str[i] - 'a' + 10)*pow(16, j); j++;
		}
		if (str[i] >= 'A'&&str[i] <= 'Z')
		{
			sum = sum + (str[i] - 'A' + 10)*pow(16, j); j++;
		}
	}
		printf("%d", sum);
		return 0;
}
相关标签: 基础算法

上一篇:

下一篇: