C++编写的16进制转换成10进制的代码
//16Radix number to Decimal //Programming by : Erfan Nasoori //Mail : ketn68@yahoo.com //Date of send : 2009/1/9 #include<iostream.h> #include<string.h> #include<math.h> #include<conio> void main() { int k=-1,j,i; double sum=0 ; int x[20]; char hexa[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; char s[20]; cout<<"Number in 16 radix : "; cin>>s; for(i=0 ; s[i] ; ++i) if(s[i] >= 'a' && s[i] <= 'z') s[i] -= 32; for(i=0 ; s[i] ; ++i) for(j=0 ; j<16 ; ++j) if(s[i] == hexa[j]) { x[++k]=j; } int y=strlen(s); for( i=(y-1) ,j=0 ; i>=0 ; --i , ++j) { sum += (pow(16,i)*x[j]); } cout<<"--------------------------------------------------"<<endl; cout<<"Radix 10 = "<<sum; getch(); }