2进制、8进制、10进制、16进制、之间的转换怎么算啊

问题描述:

2进制、8进制、10进制、16进制、之间的转换怎么算啊

十进制整数转换R进制(R可以是任何整数,比如3、5、7)整数,方法就是除R取余,十进制转八或十六进制方法类似转二进制,除以基数取余就行了,比如转八进制就除8,转十六进制就除16.
二进制和八进制、十六进制之间转换采用的是分组转换法,因为2、8、16之间是存在幂的关系的.所以,二级制转八进制,以小数点为中心向两边(二进制小数也可以转为八进制小数)分组,每3位为一组,因为2的3次方=8,然后将各组直接写成相应的八进制数就可以了(3位二进制数最大是7,不会超过8).转十六进制类似,只是这时候需要每4位分一组.反过来,八进制、十六进制转二进制就简单了,只要把每一位都写成二进制数就行了.八进制和十六进制之间一般借助二进制来转换,不容易出错.
十进制小数转R进制小数,方法为乘R取整,每次乘以相应之后基数后取结果的整数部分即可.需要注意的是并非所有的十进制小数都能完全转化为R进制小数,这时就需要取近似值.
二进制(包括小数)转为十进制数时,采用乘权相加法,每一位数乘以相应位的权制然后相加就ok.比如1101.101这个数,以小数点为中心,向左每位权值分别为1、2、4、8,向右每位为0.5、0.25、0.125(也就是二分之一、四分之一、八分之一).正数1101.101B=1*1+0*2+1*4+1*8(整数部分)+1*0.5+0*0.25+1*0.125(小数部分)=13.625D.八进制、十六进制转十进制方法类似,只要你搞清楚每位的权值就行了.