带符号的8位2进制数为什么最小是-128?

来源:百度知道 编辑:UC知道 时间:2024/06/03 06:47:57
带符号的8位2进制数去除符号位表示数值的只有7位。
7位2进制数最大为:1111111=127。
现首位加上符号位:正数01111111=127,负数11111111=-127这是源码。
想不通怎么最小的为-128.
和源、反、补有什么关系。再怎么变正数最大为127,负书最小也应该为:-127呀!
请大家指点一下,看我思路那里有问题。比较急 谢谢啊!
那请问这是人为规定的吗?规定1000 0000为-128。

楼上的说(估计是copy过来的),这么多,我估计楼主也不明白!

我给你简单讲一下吧:

7位2进制数000 0000的值为0,那么,它前面加上0,还表示0吧?
那好,如果它前面加上1呢,仍然表示0?这不是重复了么?
一个0,怎么用两个值来表示呢?

所以1000 0000就表示-128啦

  +0的补码就是其原码,也就是说是0000 0000而已(对于8位来说)。
  -0的补码是其反码加1,其反码是1111 1111,当然,其反码加1后就是溢出一个进位后,仍然是0000 0000。
  所以0和-0的补码都是0000 0000
  根据补码原则,0000 0000表示0,而1000 0000却不能表示-0,所以根据原则可知,-1000 0000表示的是-128。
  这就是为什么8位带符号数的范围是-128~127之间了。
  其实就是1000 0000表示谁呢,谁也表示不了,那就用来表示-128吧,所以8位2进制数最小-128。

  

1、在计算机系统中,数值一律用补码来表示(存储)。
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补
码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
2、补码与原码的转换过程几乎是相同的。
数值的补码表示也分两种情况:
(1)正数的补码:与原码相同。
例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码
0000111按位取反为1111000;再加1,所以-7的补码是11111001。
已知一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各