用3位补码表示-1的定点小数为什么是1.00

想知道原因
2025-02-23 00:25:24
推荐回答(4个)
回答1:

补码系统只有一个0,+0和-0的补码都是0.00,所以余下了1.00。
倒过来看,除去-1外最小的原码是1.11,变为补码1.01,如果有个数补码1.00,这个数一定比-0.75小,那么这个数只能是-1

回答2:

小数补码,大佬规定了一个定义式:
  [X]补 = X   ; 0 ≤ X < 1
  [X]补 = 2+X  ;-1 ≤ X < 0
你按照定义式,算一下,即可得出 1.00。
别的答案,都是自己瞎琢磨的,不足为凭。

回答3:

定点小数,负数补码的计算公式: 2 + X, X < 0。

那么,[-1]补码= 2-1 = 1。 补足 3 位,就是 1.00。

其它解释,都是错误的。

回答4:

32位字长补码表示的有符号整数真值范围: -1.00000b ~ +b, (31个0) (31个1) 即: -(2^31)d ~ +(2^31 -1)d . 32位字长补码表示的有符号定点小数真值范围: -1.00000b ~ +0.11111b (31个0) (31个1) 即:-1d ~ +(2^31-1)d/(2^31)d