简单的任意进制数互换

来源:互联网 发布:淘宝流量入口有哪些 编辑:程序博客网 时间:2024/06/02 04:23

思路:

step1.将任意进制(源进制)转换为十进制数

step2.将十进制数传换为任意进制数(目标进制数)


c++代码:

#include<iostream>#include<stack>using namespace std;stack <int>s;void help(){cout<<"仅实现了整数部分,小数同理"<<endl;cout<<"仅实现了35进制内,拓展同理"<<endl;cout<<"进制对应关系如下:"<<endl; int k; while(k<=35){ cout<<k<<":  ";  if(k<10)cout<<k;  else cout<<char(k+55);  cout<<endl;  k++;  }}void Trans1(int Num, int N){//step2int k; while(Num){ k=Num%N;  s.push(k);  Num=Num/N;  } while(!s.empty()){ k=s.top(); s.pop();  if(k<10)cout<<k;  else cout<<char(k+55);  }}int Trans2(int Num, int N){//step1int sum=0;int i=1; while(Num){ sum=sum+Num%10*i;  Num=Num/10;  i=i*N;  }return sum;}int Trans(int Num, int N1,int N2){int data=Trans2(Num,N1);//step1Trans1(data,N2);//step2return 1; }int main(){char ans;cout<<"显示操作介绍?Y/N?"<<endl;cin>>ans; if(ans=='Y'||ans=='y')help();int Num,N1,N2; cout<<"将N1进制数Num转换成N2进制输出,请输入Num,N1,N2"<<endl; cin>>Num>>N1>>N2; Trans(Num,N1,N2); return 1;}


0 0
原创粉丝点击