各进制转换关系

#include <iostream>
#include <string.h>
using namespace std;
/*
void change(char ch)
{
     if(ch>='1' && ch<'10')
     {
        
     }
}

int main()
{
    char str[] = "12AEE";
    for(int i=0;i<strlen(str);i++)
    {
            char ch = str[i];
            change(ch);
    }
    return 0;
}


void fun1(int n)
{
     switch(n)
     {
              case 10:
                   cout<<'A';break;
              case 11:
                   cout<<'B';break;
              case 12:
                   cout<<'C';break;
              case 13:
                   cout<<'D';break;
              case 14:
                   cout<<'E';break;
              case 15:
                   cout<<'F';break;
              default:cout<<n;
     }
}

void fun(int n)
{
     if (n<16)
        fun1(n);
     else
     {
         fun(n/16);
         fun1(n%16);
     }
}

int main()
{
    fun(10);
    cout<<endl;
    return 0;
}
*/
#include <stdio.h>

int main()
{
  char s[10];
 int i,n=0;
 
  printf("输入十六进制数:\n");
  scanf("%s",s);
 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;
}  
  printf("%d\n",n);
}

posted @ 2012-09-22 14:42  SA高处不胜寒  阅读(314)  评论(0编辑  收藏  举报