
一个byte能表示的数的范围是-128~127这是为什么?
2个回答
展开全部
八位码长,0 的补码就是:0000 0000。
将其减一,取八位,得:1111 1111=255 (十进制)。
因此,-1 的补码就是:255 = 1111 1111 (二进制)。
再减,-2 的补码就是:254 = 1111 1110 (二进制)。
继续,-3 的补码就是:253 = 1111 1101 (二进制)。
公式:-X 的补码 = 256 - X 。 再变换为二进制。
所以,-128 的补码是:256-128 = 128 = 1000 0000。
--------
正数,就从 0000 0000 依次递增,最后是:0111 1111 (+127)。
展开全部
你这个应该用补码形式吧
在计算机中,是用补码形势表示二进制数。
正数的补码是其本身;
负数的补码:符号位为1,其余位为该数绝对值的原码按位取反,然后加1。
所以最小数的补码形式为 1 0 0 0 0 0 0 0 ;
它的数值绝对值应该是各位取反再加1,即为
0 1 1 1 1 1 1 1 + 1 = 1 0 0 0 0 0 0 0 = 128
又因为是负数,所以是 - 128
而最大数是正数,原码和补码一样 所以是 +127
在计算机中,是用补码形势表示二进制数。
正数的补码是其本身;
负数的补码:符号位为1,其余位为该数绝对值的原码按位取反,然后加1。
所以最小数的补码形式为 1 0 0 0 0 0 0 0 ;
它的数值绝对值应该是各位取反再加1,即为
0 1 1 1 1 1 1 1 + 1 = 1 0 0 0 0 0 0 0 = 128
又因为是负数,所以是 - 128
而最大数是正数,原码和补码一样 所以是 +127
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询