很难的二进制换算. 帮帮忙..

(100101.001101)2
=( )10
=( )8
=( )16
应该怎么做呢?
请详细的说明一下小数部分的换算..

这个超级简单
(100101.001101)2=32+4+1+1/8+1/16+1/64=(37.203125)10=(45.15)8=(25.34)16
根据权重来 以二进制为例,小数点前的第一位表示2的(1-1=0)次方(即为1),再乘上系数1表示1*1=1,第二位为表示2的(2-1=1)次方(即为2),而它的系数为0,所以等于0*2=0,小数点前第三位表示2的(3-1=2)次方(即为4),而它的系数为1,所以等于1*4=4。以次类推,小数点前第N位数本身权重是2的(N-1)次方,只需要把这一位的权重乘上它的系数,就得到这一位换成10进制的数值,把每一位的加起来就换成10进制了
换成8进制或者16进制更好玩,因为2的3次方=8,二的四次方=16。所以只要把二进制数按照每三个一组或者每四个一组转换直接就可以得出,比如(100101)2=(100|101)其中(100)2=4,(101)=5,所以(100101)2=(45)8
小数点部分道理是一样的,小数点后第一位权重是(1/2)的一次方(就是0.5),第二位权重是(1/2)的二次方就是0.25把他们乘以各自的系数加起来就完了换成8进制或16进制同样按三个数一组(8进制)或四个数一组(16进制)例如:(100101.001101)2的小数部分是(.001101 )=(.0011|01)(注意:当位数不够时,在后面加0)=(.0011|0100)2 因为0011=3,0100=4,所以小数部分转换成16进制就是(.34)16
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-10-28
二进制转十进制为:以小数点为界,向左依次作为二的0、1、2、3、4……次幂,再乘以相应的数值之后把和叠加即可;小数点以后的向右作为2的负幂-1、-2、-3……例如:100101.001101=1*1+0*2+1*4+0*8+0*16+1*32+0*0.5+0*0.25+1*0.125+1*0.0625+0*0.03125+1*0.015625=(37.203125)10
转八进制:一小数点为界,向左每三位为一组不够向前补零转换为八进制再叠加;向右也以三位为一组不够向后补零转换为八进制再叠加:例如:100101.001101=100、101.001、101=(45.15)8;
十六进制和八进制类似,只不过以三位为一组:例如:100101.001101=0010、0101.0011、0100=(45.15)16
怎么样,不难吧!
第2个回答  2006-10-28
十六进制和八进制类似,只不过以 四 位为一组!!!!!!
第3个回答  2006-10-28
上面正解