只考慮所有數都是int型的情況
#include<iostream>
using namespace std;
double power(int q, int n); //聲明x的n次方函數
int main()
{
int q; //當前進制
int N; //當前數的長度
int num; //讀入數據
int result=0;
cout<<"請輸入當前進制q和當前進制數的位數N:"<<endl;
cin>>q>>N;
cout<<"請輸入當前的進制數:"<<endl; //輸入時一位一位的輸入
for(int i =N-1; i>=0 ;i--)
{
cin>>num;
result += num*power(q, i);
}
cout<<"轉換爲10進制數爲:"<<result<<endl;
return 0;
}
double power(int q, int n)
{
int result=1;
while(n--)
{
result *=q;
}
return result;
}
結果:
測試了其他進制:
比如2位的8進制數23
結果得到19.也正確。