在做完进制转换之后,conversion函数就懂了,而且也学会了简书如何上传代码
#include<iostream>
#include<string>
#define N 4000
using namespace std;
int conversion(int d[],int data[],int n,int x,int y){
int size=0;
for(int i=0;i<n;){
int k=0;
for(int j=i;j<n;j++){
int t=(d[j]+k*x)%y;
d[j]=(d[j]+k*x)/y;
k=t;
}
data[size++]=k;
while(d[i]==0) i++;
}
return size;
}
int main(){
string s;
int d[N],data[N];
while(cin>>s){
for(int i=0;i<s.length();i++)
d[i]=s[i]-'0';
int n=conversion(d,data,s.length(),10,2);
int start;
for(start=0;data[start]==0;start++);
for(int i=start;i<n;i++)
data[i-start]=data[i];
n=conversion(data,d,n-start,2,10);
for(int i=n-1;i>=0;i--)
cout<<d[i];
cout<<endl;
}
return 0
网友评论