2013-09-23 64 views
0

说明:将这些十进制数到5位二进制补码形式,如果可能的话。如果不可能,请解释为什么这样。转换十进制转换为二进制补码

(16)基地10

根据网上的转换器:

据我了解,

若小数点为积极

  • 第1步:转换ma对二进制的认识。
  • 步骤2:将0填充到所需的比特大小。

若小数点为

  • STEP 1:将幅度为二进制。
  • 步骤2:将0填充到所需的比特大小。
  • 第3步:反转位,获得1's补。
  • 第4步:加1到实现二进制补码。

由于16是正的,我只需将其转换为二进制通过反复分裂得到(10000)碱2.

我不再填充0的,因为它已经是(含有5个位数)5位。

为什么在线转换器返回一个错误(这也是我坚信是正确答案)有人可以解释一下吗?

回答

3

有了5位可以代表最多2^5个不同的数字,因为你要正数和负数的范围是-16至+15。

所以你得到错误,因为16是超出范围的5位。改为6位,它应该工作

0

您需要6位来表示+16,因为值10000代表-16。可视化

最好的办法是 -
00000-0
00001-1
00010-2
....
01111-15
10000 - ( - )16
10001 - ( - )15
....
试着拿2的补数10000,你应该得到值16的二进制