把十进制数分别转换成二进制数,八进制数,十六进制数,并且能够按需重复转换

写一个程序能把0-255内的十进制数分别转换成二进制数,八进制数,十六进制数,并且能够按需重复转换。连续转换0~255中任意的几个数。

代码如下:

#include<bits/stdc++.h> 
using namespace std; 
void zhuan(int n,int d) 
{ 
    int a[100],l=0; 
    while(n!=0) 
    { 
        a[++l]=n%d; n=n/d; 
    } 
    for(int i=l; i>=1; i--) 
    {     
        if(a[i]<10) 
        { 
            cout<<a[i]; 
        } 
        if(a[i]>=10) 
        { 
            cout<<char(a[i]+55);
        } 
    }
    cout<<endl; 
} 
int main() 
{ 
    int n,x; 
    cin>>n; 
    while(cin>>x)
    {
        switch(x)
        {
            case 2:
            {
                zhuan(n,2);
                break;
            }
            case 8:
            {
                zhuan(n,8);
                break;
            }
            case 10:
            {
                zhuan(n,10);
                break;
            }
            case 16:
            {
                zhuan(n,16);
                break;
            }
            default:continue;
        }
    }
}

运行结果:

img

希望对题主有帮助!