十六进制转十进制 C语言
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
和上道题相反,这是一个十进制转十六进制的问题,笔者一开始觉得没什么难度,只要将上一题的思路反一下基本就出来了。
但现实又狠狠地打了我的脸!
先说我的错误代码吧。我的代码如下:
#include <stdio.h>
#include <math.h>
int getnum(char a)
{
switch(a) //进制转换
{
case '0':return 0;break;
case '1':return 1;break;
case '2':return 2;break;
case '3':return 3;break;
case '4':return 4;break;
case '5':return 5;break;
case '6':return 6;break;
case '7':return 7;break;
case '8':return 8;break;
case '9':