8位二进制补码表示数的范围是多少为何

已举报 回答
8位二进制补码表示数的范围是多少为何
问在线客服
扫码问在线客服
  • 回答数

    5

  • 浏览数

    9,272

5个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
8位字长:
.
原码范围:1111 1111b~0111 1111b
真值范围: -111 1111b~+111 1111b, 即 -127d~ +127d
.
反码范围:1000 0000b~0111 1111b
真值范围: -111 1111b~+111 1111b, 即 -127d~ +127d
.
补码范围:1000 0000b~0111 1111b
真值范围:-1000 0000b~+111 1111b, 即 -128d~ +127d
-128d的解释:
8位字长模 =2^8 =1 0000 0000b
当[x]补 =1000 0000b,
x =[x]补 -模 =1000 0000b -1 0000 0000b = -1000 0000b = -128d
取消 评论
c 由补码定义可知,当数字大于等于0时,补码正数表示为0≤x≤2∧(n-1)-1,这道题中n=8,所以正数部分是0≤x≤127 补码负数表示 -(2∧(n-1)-1)≤x<0 n=8 带进去得到 -127 ≤x<0 所以得到 -127 ≤x≤127
取消 评论
答案是2. -6

4位分配单元,表示范围是 -8~7

5 = 0101

...0101
+ 0101
———
1010
(百度吃空格的,所以前面用了几 个点)

最高位为1表示的是负数
按照取反加1
1010取反是0101,再加1是0110,值是6
所以1010表示的是-6

0111 7
0110 6
……
0001 1
0000 0
1111 -1
1110 -2
……
1000 -8
取消 评论
八位二进制数,一共有 256 种编码。

用一半(128个),表示负数,用另一半(也是128个),表示零和正数。

显然,128个负数,是:-1~-128;

零和正数,也是128个,即:0~+127。

难道,还能有别的、比这更好分配方法吗?
取消 评论
68H = 01101000B,注意:粗体字0是补码的符号位
因为补码的符号为0,所以补码68H是一个正数。又因为“正数的补码就是真值”,所以真值仍为68H = 01101000B
取消 评论
ZOL问答 > 8位二进制补码表示数的范围是多少为何

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?