(本文不涉及原理,只适用于速成)
二进制的转换
二进制---->八进制
-
三位一组( Tips:2^{3}=8 ),每组转换成对应的八进制符号(用2进制计算)
-
如何划分三位一组?
-
答:以小数点为分界,分别向左向右划分,缺少的用0补齐
eg: 1111111110.01101
解:
1111111 _110 . 011_01
1111_111 _110.011__ 010
001 __ 111_111 _110.011__ 010 (分组完成)
分组进行八进制转换计算
001--->1* 2^{0} +0 * 2^{1} + 0* 2^{2}=1
111-----> 1* 2^{0} +1 * 2^{1} + 1* 2^{2}=7
110----- >0* 2^{0} +1 * 2^{1} + 1* 2^{2}=5
011----- >1* 2^{0} +1 * 2^{1} + 0* 2^{2}=3
010 ----- >0* 2^{0} +1 * 2^{1} + 0* 2^{2}=2
综上: 1111111110.01101------->1775.32
八进制----->二进制
-
每位八进制对应三位二进制
-
也就是把每位八进制用三位二进制表示
eg: 251.5 (8进制)
把每位都转换成二进制 (如果不知道怎么转成2进制的看一下上面的二进制主演八进制的计算方法,把他反过来就是八进制转二进制)
2------> 010 (提示:0* 2^{0} +1 * 2^{1} + 0* 2^{2}=2 )
5------> 101
1------> 001
综上:251.5 (8进制)---------->010 101 001 . 101 (2进制)
二进制----->十六进制
-
四位一组,每组转换成对应的十六进制符号(用2进制计算)
-
分组方法同上
eg: 1111111110.01101
分组:四位一组
111111 1110.0110 __ 1
0011 __ 1111 __ 1110 . 0110 __ __ 1000
计算转换成16进制
0011----->1* 2^{0} +1 * 2^{1} + 0* 2^{2}+0* 2^{3}=3
1111----->1* 2^{0} +1 * 2^{1} + 1* 2^{2}+1* 2^{3}=15---->F
1110----->0* 2^{0} +1 * 2^{1} + 1* 2^{2}+ 1* 2^{3}=14--->E
0110 ----->0* 2^{0} +1 * 2^{1} + 1* 2^{2}+0* 2^{3}=6
1000----->0* 2^{0} +0 * 2^{1} + 0* 2^{2}+1* 2^{3}=8
综上:1111111110.01101------->3FE.68
十六进制----->二进制
-
同理,按照逆向转回去,把每一位16进制都表示成4位的二进制
eg: 3FE.68---------->0011 __ 1111 __ 1110 . 0110 __ __ 1000
十进制转换成任意进制
-
十进制----->R进制----------短除法
eg: 将94转成2进制