mutaohengheng

十六进制转十进制

#include <stdio.h>
#include <stdlib.h>

/*
   (4)将十六进制数转换成十进制数。
		输入十六进制数输出对应的十进制数。
		输入“ctrl +  z” 结束。
*/

int toDec(char c);

int main(){
	char num[30];
	while (scanf("%s", num) != EOF){
		int number = 0;
		for (int i = 0; num[i] != \'\0\'; ++i){
			number *= 16;
			number += toDec(num[i]);
		}
		printf("%d\n",number);
	}
	system("pause");
	return 0;
}

int toDec(char c){
	if ((c >= \'0\') && (c <= \'9\'))
		return c - \'0\';
	else if ((c >= \'a\') && (c <= \'f\'))
		return c - \'a\' + 10;
	else if ((c >= \'A\') && (c <= \'F\'))
		return c - \'A\' + 10;
	else
		return 0;
}

  

posted on 2016-01-06 10:35  长桥卧雪  阅读(254)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: