进制之间的转换
其他进制转十进制
R进制转十进制使用按权展开法,具体操作方式为:将R进制数的每一位是指用R的K次方形式表示,即幂的底数是R ,指数是K,K与该位和小数点之间的距离有关。当该位位于小数点左边,K值是该位和小数点之间数码的个数,而当该位位于小数点右边,K值是负值,其绝对值是该位和小数点之间数码的个数+1.
举个栗子:
二进制10100.01=12的四次方+12的2次方+1*2的-2次方
(不常用的)七进制604.01=67的2次方+47的0次方+1*7的-2次方
十进制转其他进制
一般来说,十进制转其他进制,我们都是采用短除法。
举个栗子:
十进制94转为二进制数
2 | 94 余数为0 //这个解读是94除以2,余数为0
2 | 47 余数为1 //这个47就是上面94除以2得来的,下面的也是一样
2 | 23 余数为1
2 | 11 余数为1
2 | 5 余数为1
2 | 2 余数为0
2 | 1 余数为1
我们的二进制就是读取余数出来,注意,是要从下往上读的。所以94的二进制表示为:1011110
同理,要是十进制转为八进制或者是十六进制,就将上面的2换成是8或者是16
二进制转八进制与十六进制
一般老说,我们二进制转八进制或者是十六进制,采用的是以下的方法
举个栗子:
二进制10001110转为八进制
二进制转为八进制,我们把二进制从右往左,每三个划分为一组,高位不足,可以补0,像10001110,可以划分为010(高位不足,用0来补)、001、110,同时,用二进制转十进制的方法,计算出划分的值
010=02的2次方+12的1次方+0*2的0次方=2,同理可以计算出001的十进制表示为1,10的十进制表示为6,所以二进制10001110转为八进制表示就为216
二进制转十六进制
二进制转十六进制和二进制转八进制是一样的,有区别的是每四个划分为1组,高位不足,可以补0
还是1001110,划分为1000、1110,用二进制转十进制计算得出为8、15,十六进制中,10~15是用A-F来表示的,所以二进制10001110转为十六进制表示为8E