首先以十进制作为中转,可以将任意进制的数转换成十进制,再转成其他进制,这是一个很好的方法。
1、任意进制转十进制:按权展开法
具体操作方式为:将R进制数的每一位数值用R的k次方形式表示,即幂的底数是R,指数是k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该数和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1.
例如二进制10100.01=1x24+1x22+1x2-1
10100.01那么小数点左边有5位,离小数点最近的开始,数码依次是0、1、2、3、4;小数点右边有两位,离小数点最近的开始,数码依次是0、1,加1之后就是1、2。
实际10100.01转成表达式从左往右依次就是:1x24+0x23+1x22+0x21+0x20+0x2-1+0x2-2
0乘以任何数得0,所以最终就是1x24+1x22+1x2-1
例如七进制604.01=6x72+4x70+1x7-2
举一反三,604.01的R=7,k从左往右依次是:2、1、0,-1,-2
实际604.01=6x72+0x71+4x70+0x7-1+1x7-2=6x72+4x70+1x7-2
2、十进制转任意进制:短除法
具体操作方式为:一个十进制的数除以R进制得到一个商和第一个余数,再次将商除以R进制,得到一个商和第二个余数,以此类推,最终商0,将余数依次逆序连起来,就是R进制的表示。
例如94转2进制
次数 | 被除数 | 除数 | 商 | 余数 |
1 | 94 | 2 | 47 | 0 |
2 | 47 | 2 | 23 | 1 |
3 | 23 | 2 | 11 | 1 |
4 | 11 | 2 | 5 | 1 |
5 | 5 | 2 | 2 | 1 |
6 | 2 | 2 | 1 | 0 |
7 | 1 | 2 | 0 | 1 |
得到余数逆序排列就是1011 110,所以94的2进制表示就是1011 110
3、扩展知识点:二进制转八进制、十六进制
八进制:0、1、2、3、4、5、6、7 表示
十六进制:0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15) 表示
二进制转八进制:三段式
例如10001110转成八进制,首先将二进制数从低位到高位,三个一段
得到10 001 110,最高的只剩两位了,补0就行了
得到010 001 110,每一段有三位,底数R为当前进制,每段k次方从低到高依次是0、1、2
从左往右所以得到三个表达式:0x22+1x21+0x20,0x22+0x21+1x20,1x22+1x21+0x20
从左往右计算出来得到三个数:2、1、6
那么这个八进制数就是216
二进制转十六进制:四段式
例如10001110转成十六进制,首先将二进制数从低位到高位,四个一段
得到1000 1110,最高段不足四位,补0
每段有四位,底数R为当前进制,每段k次方从低到高依次是0、1、2、3
从左到右得到两个表达式:1x23+0x22+0x21+0x20,1x23+1x22+1x21+0x20
计算出来得到两个数:8,14
对应十六进制表,8=8,14=E
所以这个十六进制数就是8E
留下您的脚步
最近评论