首页 > 其他 > 详细

写一个函数,输人一个十六进制数,输出相应的十进制数

时间:2020-07-22 21:09:33      阅读:73      评论:0      收藏:0      [点我收藏+]

写一个函数,输人一个十六进制数,输出相应的十进制数

题目解析:

转换的过程需要乘的基数为16,其次注意十六进制中的a~f的字母转换,并且无论大小写都要能够转换。

代码示例:

#include<stdio.h>

size_t HextoDec(char s[])
{
	size_t i, n;
	n = 0;
	for (i = 0; s[i] != ‘\0‘; i++)
	{
		if (s[i] >= ‘0‘&& s[i] <= ‘9‘)
			n = n * 16 + s[i] - ‘0‘;
		if (s[i] >= ‘a‘ && s[i] <= ‘f‘)
			n = n * 16 + s[i] - ‘a‘ + 10;
		if (s[i] >= ‘A‘ && s[i] <= ‘F‘)
			n = n * 16 + s[i] - ‘A‘ + 10;
	}
	return n;
}

int main()
{
	size_t result = 0;
	char hex[9] = {0}; 
	printf("input a HEX number:");
	scanf("%s", hex);

	result = HextoDec(hex);
	printf("0x%s = %u\n", hex, result);
	
	return 0;
}

运行结果:

技术分享图片

写一个函数,输人一个十六进制数,输出相应的十进制数

原文:https://www.cnblogs.com/inta/p/13362520.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!