欢迎来到天天文库
浏览记录
ID:15268098
大小:51.50 KB
页数:4页
时间:2018-08-02
《进制转换相应内容讲解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、进制转换相应内容讲解进制转换,一般有两种形式:1.十进制→二进制我们采用除2取余法转换:即用2不断地去除要转换的十进制数,直至商为0为止。然后将得出的各次余数以最后余数为最高位依次排列,即得到所转换的k进制数。例如【题目名称】:进制转换1155Description:输入一个不大于32767的正整数N,将它转换成一个二进制数。Input:输入一个不大于32767的正整数NOutput:输出它转换成的二进制数SampleInput:100SampleOutput:1100100【程序代码】#includ
2、eusingnamespacestd;intmain(){inta[100]={0},n,i=0,j;cin>>n;while(n!=0){i++;a[i]=n%2;n=n/2;}for(j=i;j>0;j--)cout<3、3Input:一个整数m和进制n,用空格分开Output:把这个数转换成相应的n进制数SampleInput:103SampleOutput:(10)10=(101)3【程序代码】#includeusingnamespacestd;intmain(){inta[100]={0},m,n,i=0,j;cin>>m>>n;cout<<"("<0;j--)if(a[j]>=10)c4、out<5、为十进制表示,如(10101)2=(21)10Input:n(表示n进制)和m,中间用空格分开OutputL:输出相应的结果SampleInput:210101SampleOutput:(10101)2=(21)10【程序代码】#includeusingnamespacestd;intmain(){stringm;intn,s=0,i;cin>>n>>m;for(i=0;m[i]!=' ';i++){s=s*n+m[i]-'0';if(m[i]>='A')s=s+'0'-'A'+6、10;}cout<<'('<10则用大写字母A~F表示数码10~15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,7、表示转换之后的数的进制m(2≤m≤16)。Output:输出仅一行,包含一个正整数,表示转换之后的m进制数。SampleInput16FF2SampleOutput:11111111【程序代码】#includeusingnamespacestd;intmain(){stringm;inta[100]={0},n,k,s=0,i,j;cin>>n>>m>>k;//读入数据for(i=0;m[i]!=' ';i++)//把n进制的数转换成十进制s{s=s*n+m[i]-'0';if(8、m[i]>='A')s=s+'0'-'A'+10;}i=0;while(s!=0)//把十进制的s转换成k进制{i++;a[i]=s%k;s=s/k;}for(j=i;j>0;j--)//输出相应的结果if(a[j]>=10)cout<
3、3Input:一个整数m和进制n,用空格分开Output:把这个数转换成相应的n进制数SampleInput:103SampleOutput:(10)10=(101)3【程序代码】#includeusingnamespacestd;intmain(){inta[100]={0},m,n,i=0,j;cin>>m>>n;cout<<"("<0;j--)if(a[j]>=10)c
4、out<5、为十进制表示,如(10101)2=(21)10Input:n(表示n进制)和m,中间用空格分开OutputL:输出相应的结果SampleInput:210101SampleOutput:(10101)2=(21)10【程序代码】#includeusingnamespacestd;intmain(){stringm;intn,s=0,i;cin>>n>>m;for(i=0;m[i]!=' ';i++){s=s*n+m[i]-'0';if(m[i]>='A')s=s+'0'-'A'+6、10;}cout<<'('<10则用大写字母A~F表示数码10~15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,7、表示转换之后的数的进制m(2≤m≤16)。Output:输出仅一行,包含一个正整数,表示转换之后的m进制数。SampleInput16FF2SampleOutput:11111111【程序代码】#includeusingnamespacestd;intmain(){stringm;inta[100]={0},n,k,s=0,i,j;cin>>n>>m>>k;//读入数据for(i=0;m[i]!=' ';i++)//把n进制的数转换成十进制s{s=s*n+m[i]-'0';if(8、m[i]>='A')s=s+'0'-'A'+10;}i=0;while(s!=0)//把十进制的s转换成k进制{i++;a[i]=s%k;s=s/k;}for(j=i;j>0;j--)//输出相应的结果if(a[j]>=10)cout<
5、为十进制表示,如(10101)2=(21)10Input:n(表示n进制)和m,中间用空格分开OutputL:输出相应的结果SampleInput:210101SampleOutput:(10101)2=(21)10【程序代码】#includeusingnamespacestd;intmain(){stringm;intn,s=0,i;cin>>n>>m;for(i=0;m[i]!=' ';i++){s=s*n+m[i]-'0';if(m[i]>='A')s=s+'0'-'A'+
6、10;}cout<<'('<10则用大写字母A~F表示数码10~15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,
7、表示转换之后的数的进制m(2≤m≤16)。Output:输出仅一行,包含一个正整数,表示转换之后的m进制数。SampleInput16FF2SampleOutput:11111111【程序代码】#includeusingnamespacestd;intmain(){stringm;inta[100]={0},n,k,s=0,i,j;cin>>n>>m>>k;//读入数据for(i=0;m[i]!=' ';i++)//把n进制的数转换成十进制s{s=s*n+m[i]-'0';if(
8、m[i]>='A')s=s+'0'-'A'+10;}i=0;while(s!=0)//把十进制的s转换成k进制{i++;a[i]=s%k;s=s/k;}for(j=i;j>0;j--)//输出相应的结果if(a[j]>=10)cout<
此文档下载收益归作者所有