十進制轉換爲任何進制

剛剛開始學習編程,常遇到進制轉換類的題目,在這裏做一下總結

直接貼代碼

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char valu[]="0123456789ABCDEFGHIJKLMN";  //要求小寫改爲小寫即可,最高轉換24進制,最低二進制
char ans[35];   //儲存答案的數組
int tentoany(int val,int n)
{
    int i=1;
    memset(ans,'0',sizeof(ans));    //初始化
    if(val==0)     //判斷0的情況
        return 1;
    while(val)
    {
        ans[i]=valu[val%n];
        val/=n;
        i++;
    }
    return i-1;   //返回長度
}
int main()
{
    int val,n;
    while(cin>>val>>n)   //輸入10進制數和要轉換的進制數
    {
       int len=tentoany(val,n);
       for(int i=len;i>0;i--)   //反向輸出
            cout<<ans[i];
       cout<<endl;
    }
   return 0;
}
下面附上其他鏈接

十進制轉換爲二進制

使用庫函數可以轉換8進制和16進制

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