C++ 將其他進制數轉換爲10進制數

只考慮所有數都是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.也正確。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章