进制间的相互转换

来源:互联网 发布:centos minimal升级 编辑:程序博客网 时间:2024/05/19 11:44

最常用的就是十进制,十六进制,八进制,二进制间相互转化。首先讲讲十进制与二进制的转化吧:我的方法是记住二进制的一些最常用的1,2,4,8,16,32,64,128,256,512,1024,2048,4096,记住这些转化就很方便了,比如:10000,我们首先10000-4096*2=1808;1808-1024=784;784-512=272;272-256=16;所以就可以写成10011100010000;至于二进制转十进制加就好了;二进制转八进制,3位二进制为一位八进制;二进制转十六进制,4位二进制就是一位十六进制了。


接下来设计一个程序把一个十进制转换为二到九进制之间的任意一个进制的数输出;

原理:N=(N/d)*d+N%d,先得到低位后输出,后得到高位先输出。因此,将求的的余数放入栈中保存。

///十进制转换为别的进制void Decimator(int num, int r){stack<int> S;while (num != 0){int k = num%r;S.push(k);num /= r;}while (!S.empty()){cout << S.top();S.pop();}cout << endl;}


0 0
原创粉丝点击