C++編寫的16進制轉換成10進制的代碼

mx3y 9年前發布 | 1K 次閱讀 C/C++

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

 本文由用戶 mx3y 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!