C++编写的16进制转换成10进制的代码

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

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();
}

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:C++判断某天是一年中的第几天

下一篇:js获取当前系统时间