C++进制转换.docx

上传人:小飞机 文档编号:3153883 上传时间:2023-03-11 格式:DOCX 页数:16 大小:38.11KB
返回 下载 相关 举报
C++进制转换.docx_第1页
第1页 / 共16页
C++进制转换.docx_第2页
第2页 / 共16页
C++进制转换.docx_第3页
第3页 / 共16页
C++进制转换.docx_第4页
第4页 / 共16页
C++进制转换.docx_第5页
第5页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C++进制转换.docx》由会员分享,可在线阅读,更多相关《C++进制转换.docx(16页珍藏版)》请在三一办公上搜索。

1、C+进制转换#include<iostream>#include<conio.h>#include<stdlib.h>#include<string>using namespace std;void MainMenusystem(cls);for(int i=0;i<24;i+) cout<<=;printf(n1. 10->2n2. 2->10n3. 16->2n4. 2->16n5. 10->16n6. 16->10n7. Exitn);for(i=0;i<24;i+) cout<<=;void mission

2、1system(cls);double x,bb;int i,aa,n,m,p100,q100;cout<<输入一个十进制数:;cin>>x;aa=(int)x;if(x-aa=0)i=0;while(aa)pi=(int)(aa%2);aa=aa/2;i+;cout<<转化的二进制数为:;n=i;for(i=n-1;i>=0;i-) cout<<pi; cout<<endl;elsebb=x-aa;i=0;while(aa)pi=(int)(aa%2);aa=aa/2;i+;n=i;i=0;while(bb)qi=(int)(bb*2);bb=bb

3、*2-qi;i+;m=i;cout<<转化的二进制数为:;for(i=n-1;i>=0;i-) cout<<pi;cout<<.;for(i=0;i<m;i+) cout<<qi;cout<<endl;void mission2system(cls);int i,j,n;double k,sum=0;string str;cout<<输入一个二进制数:;cin>>str;i=0;while(i<str.size&stri!=.) i+;n=i;/cout<<n<<,<<str.size<<end

4、l;if(n=str.size)j=1;for(i=n-1;i>=0;i-) sum+=(stri-0)*j;j*=2;cout<<转化的十进制数为:<<sum<<endl;else if(n<str.size)j=1;for(i=n-1;i>=0;i-) sum+=(stri-0)*j;j*=2;k=1.0/2;for(i=n+1;i<str.size;i+)sum+=(stri-0)*k;k*=1.0/2;cout<<转化的十进制数为:<<sum<<endl;void A1(char c)if(c=0) cout<<0

5、000;else if(c=1) cout<<0001;else if(c=2) cout<<0010;else if(c=3) cout<<0011;else if(c=4) cout<<0100;else if(c=5) cout<<0101;else if(c=6) cout<<0110;else if(c=7) cout<<0111;else if(c=8) cout<<1000;else if(c=9) cout<<1001;else if(c=A) cout<<1010;else if(c=B) cou

6、t<<1011;else if(c=C) cout<<1100;else if(c=D) cout<<1101;else if(c=E) cout<<1110;else if(c=F) cout<<1111;else cout<<error!;void A(string s)int i,m,n;n=s.length;i=0;while(i<n&si!=.) i+;m=i;for(i=0;i<m;i+)A1(si);if(m<n)cout<<.;for(i=m+1;i<n;i+)A1(si);cout<<endl;v

7、oid mission3system(cls);string str;cout<<输入一个十六进制数:0X;cin>>str;cout<<转化的二进制数为:;A(str);char B2(string s)char ret;if(s=0000) ret=0;else if(s=0001) ret=1;else if(s=0010) ret=2;else if(s=0011) ret=3;else if(s=0100) ret=4;else if(s=0101) ret=5;else if(s=0110) ret=6;else if(s=0111) ret=7;else

8、if(s=1000) ret=8;else if(s=1001) ret=9;else if(s=1010) ret=A;else if(s=1011) ret=B;else if(s=1100) ret=C;else if(s=1101) ret=D;else if(s=1110) ret=E;else if(s=1111) ret=F;else cout<<Error!n;return ret;void B(string s)int i,j,m,k,t;string ss=s;int n=s.length;i=0;while(si!=.&i<n) i+;k=i;/cout<

9、<k<< <<n<<endl;m=k%4;m=(4-m)%4;t=m;while(m)s=0+s;m-;m=(k+t)/4;string ret;for(i=0;i<m;i+)string s1=s.substr(0,4);s=s.substr(4,s.length-4);ret+=B2(s1);cout<<ret;/cout<<endl<<k<<,<<n<<endl;if(k<n)cout<<.;string s2=ss.substr(k+1,ss.length-k-1);string s22=s2;

10、/cout<<s2<<endl;m=s2.length/4;/cout<<m<<,;int mm=m;string ret1;while(m)string s3=s2.substr(0,4);/cout<<s3<<endl;s2=s2.substr(4,s2.length-4);/cout<<s2<<endl;ret1+=B2(s3);m-;cout<<ret1;t=s22.length%4;int a=0;j=8;if(t!=0)for(i=mm*4;i<s22.length;i+)a+=(s22i-0)*j;j/=

11、2;cout<<a;cout<<endl;void mission4system(cls);string str;cout<<输入一个二进制数:;cin>>str;cout<<转化的十六进制数为:0X;B(str);void mission5system(cls);int i,j,n;double k,sum=0;string str;cout<<输入一个十六进制数:;cin>>str;i=0;while(i<str.size&stri!=.) i+;n=i;/cout<<n<<,<<str.size<&l

12、tendl;if(n=str.size)j=1;for(i=n-1;i>=0;i-) sum+=(stri-0)*j;j*=16;cout<<转化的十进制数为:<<sum<<endl;else if(n<str.size)j=1;for(i=n-1;i>=0;i-) sum+=(stri-0)*j;j*=16;k=1.0/16;for(i=n+1;i<str.size;i+)sum+=(stri-0)*k;k*=1.0/16;cout<<转化的十进制数为:<<sum<<endl;void mission6system(cls);d

13、ouble x,bb;int i,aa,n,m,p100,q100;cout<<输入一个十进制数:;cin>>x;aa=(int)x;if(x-aa=0)i=0;while(aa)pi=(int)(aa%16);aa=aa/16;i+;cout<<转化的二进制数为:;cout<<0X;n=i;for(i=n-1;i>=0;i-) cout<<pi; cout<<endl;elsebb=x-aa;i=0;while(aa)pi=(int)(aa%16);aa=aa/16;i+;n=i;i=0;while(bb)qi=(int)(bb*16);b

14、b=bb*16-qi;i+;m=i;cout<<转化的十六进制数为:;cout<<0X;for(i=n-1;i>=0;i-) cout<<pi;cout<<.;for(i=0;i<m;i+) cout<<qi;cout<<endl;void main/int on=1;while(1)MainMenu;char in=getch;if(in=7) cout<<endl;break;else switch(in)case 1: mission1; getch;break;case 2: mission2; getch;break;case 3: mission3; getch;break;case 4: mission4;getch;break;case 5: mission5;getch;break;case 6: mission6;getch;break;default:break;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号