8位整数位和2位小数位,即00011001和10意味着25.75?考虑2s补码格式编码。
为了解决这个问题,我必须从哪里开始?
答案 0 :(得分:0)
二进制中的小数以与它们在十进制,八进制或十六进制(或任何)数字系统中类似的方式工作,因为小数点后面的每个数字(或二进制/八进制/十六进制点)都带有自己的值。
在十进制中,我们说小数点右边的第一个数字值为1/10(或1x10 ^ -1),第二个数值为1/100(或1x10 ^ -2)。
在二进制文件中,不是使用10,而是使用2,因此二进制点之后的第一个数字值为1/2(或1x2 ^ -1),第二个数值为1 / 4(也写成1x2 ^ -2),每个'列的指数减1。在右边。
要转换您的示例,第一个基本步骤是计算列值,然后我们只需将原始二进制数中存在1的每个值相加(我添加了一些额外的数字到帮助解释的例子:
Binary: 1 1 0 0 1 . 1 0 0 0
Value: 16 8 4 2 1 . 0.5 0.25 0.175 0.0625
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| | x x | . | x x x
Decimal: 16 + 8 + + + 1 . + 0.5 + + +
二进制数11001.10 = 25.5(十进制)
遗憾的是,您的问题有点不清楚,所以我希望这是您正在寻找的答案,如果没有,请为您的问题进一步澄清。