一道二进制转十进制题目。

电脑上计算器打不出小数点后面的数。计算器好像没二进制计算。第一,题目是“177.832[十进制]-->?[二进制]”。我算出来是10001101.110101001.第二,请问二进制小数点后的数怎么处理?假设有一个二进制数,为101.1101.第三,010110和10110是否相同?

第1个回答  2014-07-17
第一、 需要将十进制数的整数部分与小数部分分开处理。 整数部分计算方法:除2取余法 十进制数(177)10的二进制值为(10110001)2 小数部分计算方法:乘2取整法 ,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。 将(0.832)10转换成二进制。 0.832 * 2 = 1.664 取1 0.664 * 2 = 1.328 取1 0.328 * 2 = 0.656 取0 0.656 * 2 = 1.312 取1 0.312 * 2 = 0.624 取0 0.624 * 2 = 1.248 取1 0.248 * 2 = 0.496 取0 0.496 * 2 = 0.992 取0 0.992 * 2 = 1.984 取1 0.984 * 2 = 1.986 取1 0.986 * 2 = 1.972 取1 ...... (177.832)10转二进制最终等于10110001.11010100111 (1循环) 第二、 二进制小数转十进制很简单,和正常的二进制转十进制几乎一样。 (101.1101)2 就等于 1*2^2+0*2^1+1*2^0+ 1*2^(-1)+1*2^(-2)+0*2^(-3)+1*2^(-4) = 4+0+1+1/2+1/4+0+1/16 = 5.8125. 第三、 010110和10110是一样的。本回答被提问者采纳