二进制转十六进制很容易,按四位一组进行分割转换即可(四位二进制数可以转成一位十六进制数)。
(100110011)2
=(0001 0011 0011)2 //按规则分组,缺位补零
=(133)16 //按组转换
二进制转八进制也是相似的,按三位一组进行分割转换即可(三位二进制数可以转成一位八进制数)。
(100110011)2
=(100 110 011)2 //按规则分组,缺位补零
=(463)8 //按组转换
二进制转十进制,最好就是先转成十六进制,再根据规则将十六进制转为十进制,这样的处理相对有效率(一次处理四个二进制数)。
(100110011)2
=(133)16 //按组转换
=(1*16^2+3*16^1+3*16^0)10
=(1*256+3*16+3*1)10
=(256+48+3)10
=(307)10
相应的,十进制转二进制数,采用除基取余法,先转为十六进制数(基数为16)也是一种更有效率的方法。
采用除基取余法,基数为16
33/16,商2,余1
2/16,商0,余2
从上到下依次是个位、十位 所以,最终结果为(21)16。
(33)10
=(21)16 //按组转换
=(0010 0001)2 //去掉无意义的前导零
=(100001)2
二进制转十六进制:可以把100110011分解为三个四位数1,0011,0011,第一个不足四位补齐,即0001,0011,0011,根据8421转换码,即1,3,3,所以16进制为133。换八进制是分为三个3位数,即100,110,011,根据421转换码,即4,6,3.所以八进制为463.二进制数、转换为十进制数的规律是:把二进制数按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”. 例如:把(100110011)2转换为十进制数。
解:(100110011)2
=1×(2的8次方)+0×(2的7次方)+0×(2的6次方)+1×(2的5次方)+1×(2的4次方)+0×(2的3次方)+0×(2的2次方)+1×(2的1次方) +1×(2的0次方) =307
转十的是从右至左乘上2的x次方(从0开始算起)