十進制數轉N進制c++實現


編寫一個算法,將一個非負的十進制整數N轉換為另一個基數為BB進制整數。

 

#include <iostream>

#include<string.h>

using namespace std;

//所要的十進制轉B進制的函數

void shift(int B,int before)

{

    char B_num[B];

    if(B<10){for(int i=0;i<B;i++)B_num[i]=i+48;}

    else

    {

        for(int i=0;i<B;i++)B_num[i]=i+48;

        for(int j=10;j<B;j++)B_num[j]='A'+j-10;

    }//定義好大於10的各個位置表示符號

    string result="";

    int n;int m;

    while(before>=B)

    {

        n=before/B;

        m=before%B;

        result+=B_num[m];

        before=n;

    }

    result+=B_num[n];

    cout<<"轉換成功,結果是:"<<endl;

    for(int i=result.length()-1;i>=0;i--)cout<<result[i];

    cout<<endl;

}

int main()

{

    L:int num;int B;

    cout<<"要將十進制數轉換為多少進制的數?"<<endl;

    cin>>B;

    cout<<"請輸入原始的數據"<<endl;

    cin>>num;

    shift(B,num);

    goto L;

    return 0;

}

實驗結果截圖如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM