十进制转换为任何进制

来源:互联网 发布:mac优化 编辑:程序博客网 时间:2024/04/30 02:35

刚刚开始学习编程,常遇到进制转换类的题目,在这里做一下总结

直接贴代码

#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进制

1 0