二进制与十进制由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“十进制与二进制”。
二进制与十进制
1、十进制与二进制类比
abcd(10)=a*10^3+b*b*10^2+c*10^1+d*10^0;abcd(2)=a*2^3+b*b*2^2+c*2^1+d*2^0;
十进制与二进制的区别:
二进制逢二进一,十进制逢十进一
二进制只能出现0,1两个数字,十进制能出现0~9十个数字 二进制各位的权重是2的幂,十进制是10的幂。
2、如何将一个整数分离其各位出来?例如如何将3541分为1,4,5,3? 我们知道1=3541%10,4=354%10; 5=35%10; 3=3%10; 而3541/10=354; 354/10=35; 35/10=3; 3/10=0; 所以对于一个整数来说,要分离各位方法就很简单了。
例如:输入一个n,按从低位到高位输出各位数字(例如:354->4,5,3)实现: cin>>n;while(n){ cout
3、如何将一串单独的数字组成一个大数字(从低位到高位),例如1,2,3如何转化成321? 我们知道321=3*100+2*10+1*1;其中3,2,1是通过输入实现的,而权值是有1变为10,然后10变为100,所以代码可以这样敲: int s,k,n;s=0;k=1;cin>>n;for(int i=0;i>a;s=s+a*k;k=k*10;}
4、如何将一串单独的数字组成一个大数字(从高位到低位),例如1,2,3如何转化成123? 因为abcd=a*10^3+b*10^2+c*10^1+d*10^0 =(a*10^2+b*10^1+c)*10+d =(((0*10+a*10+b)*10+c)*10)+d 如果我们将结果保存在s中,那么我们可以得到一个关系式: int s=0;s=s*10+a;
s=s*10+b;s=s*10+c;s=s*10+d;由此得到代码:
int a,n;Int s=0;cin>>n;for(int i=0;i>a;s=s*10+a;}
如何将一个二进制数转化成十进制?
方法:abcd(2)=a*2^3+b*b*2^2+c*2^1+d*2^0;如何将一个十进制数转化成二进制数? 答案是短除法
即除2取余,直到取整后的整数部分为0,然后从后到前取数字,使用合并整数的方法组成一个大整数即可。