刚刚开始学习编程,常遇到进制转换类的题目,在这里做一下总结
直接贴代码
#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进制
新闻热点
疑难解答