这是我参与更文挑战的第1天,活动详情查看: 更文挑战
进制的转换
- R进制转10进制用按权展开法 按权展开法,即把每一位的数与自己的权相乘(可能你还不明白,那咱们直接看例子)
例如二进制数
100011.011=12^5+02^4+02^3+02^2+12^1+12^0
+02^(-1)+12^(-2)+1*2^(-3)=35.375
例如八进制数
12345=1*8^4+28^3+3*8^2+4*8^1+5*8^0=5349
例如十六进制数
456=4*16^2+5*16^1+6*16^0=1110
看了这几个例子你明白了吗?是不是很简单,那么自己动手试一下吧,千万不要眼高手低哦。
知道了R进制如何转10进制,那10进制如何转R进制呢?
使用短除法
那么什么是短除法呢,我们依旧看例子来学习。
2|97 余1
2|48 余0
2|24 余0
2|12 余0
2|6 余0
2|3 余1
2|1 余1 商为0
一直对2取余,直到商为0,那么上面的最终结果是什么呢?
就是把余数反着来写,即1100001
其他进制也一样只要把2换成R即可。
知道了R进制和10进制之间的互转,那么2进制,八进制,16进制如何转换呢?当然把他们转成10进制然后再转为所需要的进制是肯定可以的,但是却麻烦很多,那有没有什么快捷的方法呢?答案是当然有。
二进制转八进制
1001110101
从右往左数,三位一体(三位一分割),不够三位左边补0 即001 001 110 101-->1 1 6 5 即1165
二进制转16进制
1001101011101
从右往左数 四位一体,不够四位左边补0 即0001 0011 0101 1101 -->1 3 5 D 即135D
你又要想了,那八进制和16进制怎么转2进制呢,那当然是把上面倒过来就是的呀!!!
不过遗憾的是八进制和16进制不能互转,需要转成二进制才能转换。
以上就是进制的转换问题,欢迎大家留言讨论,如有不对欢迎大家指正。