admin管理员组文章数量:1794759
进制转换详解
目录
进制转换之间的关系
十进制转换为二进制(求二进制)
二进制转换成十进制(求十进制)
二进制转换为九进制
进制转换之间的关系
任意进制<--->十进制<--->任意进制
1.任意进制转为十进制
2.十进制转为任意进制
3.任意进制转为任意进制(例如二进制转为九进制)
十进制转换为二进制(求二进制)十进制转化为二进制常用的方法是辗转相除法,方法如下:
1011=1*2^3+0*2^2+1*2+1*2^0
左边表示二进制,右边计算得出来的数为十进制的数,所有的进制都可以用这种方法表示
十进制转为二进制(求二进制):
#include<iostream> using namespace std; int main() { int n,len; int num[15]; while(scanf("%d",&n)!=EOF) { len=0; while(n!=0)//循环结束登条件,当商为零的时候结束 { num[len++] = n%2;//将每次对2求余得到的数字存到数组里面 n/=2;//n=n/2 更新n,需要得到除以二之后的数 } while(len--)//用len来输出,因为每进行一次除法,len就加一,所以输出的时候刚好到len为0的时候输出完 { printf("%d",num[len]); } printf("\\n"); } return 0; } 二进制转换成十进制(求十进制):经过1011=1*2^3+0*2^2+1*2+1*2^0这个式子可以发现规律,从而得到ans=asn*2+s[i]
#include<iostream> using namespace std; int main() { string s; cin>>s; int ans=0; for(int i=0;i<s.length();i++) { ans=ans*2+s[i]-'0';//如果其他进制只需修改2即可 } cout<<ans<<endl; return 0; } 二进制转换为九进制可以先将二进制转换成十进制得到一个数,然后再将十进制转换成九进制。
本文标签: 详解
版权声明:本文标题:进制转换详解 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686579705a84020.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论