128 与 -128 的原码,反码,补码是多少。求大神解

2024年11月19日 23:38
有5个网友回答
网友(1):

128没有原码、反码和补码,但补码是-128到+127,所以 -128的补码应该是10000000,-128没有反码。-128的原码=1000 000。

其他的都溢出了,在8位整数里原码的取值范围为-127到+127 反码也是。

扩展资料:

  1. 计算机中所有的数均用0,1编码表示,数字的正负号也不例外,如果一个机器数字长是n位的话,约定最左边一位用作符号位,其余n-1位用于表示数值。

  2. 在符号位上用"0"表示正数;用"1"表示负数。数值位表示真值的绝对值。凡不足n-1位的,小数在最低位右边加零;整数则在最高位左边加零以补足n-1位。这种计算机的编码形式叫做原码。

  3. 反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

  4. 在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

参考资料:

  1. 百度百科-原码

  2. 百度百科-反码

  3. 百度百科-补码

网友(2):

-128 在八位二进制下,并没有原码和反码,只有补码。

而且,在计算机中,也只有补码,并没有原码和反码。

使用补码的意义在于:【把减法转换为加法】。

从而能够简化计算机的硬件。

计算机的位数是固定的,这就为补码的应用,提供了条件。

------

比如,限定,只用两位十进制 0~99,周期就是 100。

那么,减一,就可以用 +99 代替:

  24 - 1 = 23

  24 + 99 = (1) 23

只是保留两位数,忽略进位,结果就是相同的。

那么,99,就称为-1 的【补数】。

负数的补数的计算公式:100 + 负数。

------

计算机使用二进制,通常是指定为八位。

即,可以使用 0000 0000~1111 1111,共有 256 种。

对应的十进制,就是 0~255。周期是 256。

那么,减一,就可以用 +255 代替。

即:

-1 的补码是 1111 1111 (十进制 255)。

-2 的补码是 1111 1110 (十进制 254)。

-3 的补码是 1111 1101 (十进制 253)。

。。。依次减一,直到-128。。。

-128 的补码,1000 0000 ( = 128)。

。。。共有 128 个负数及其补码。。。

------

求负数补码的公式:【256+该负数】。

正数:直接即可进行运算,不需要任何转换。

------

补码是有用的。

原码反码,则是毫无用处的。

所以,计算机中,并没有原码和反码。

况且,-128 也没有八位的原码和反码!

原码反码,都是什么,不必关心!

网友(3):

大哥 在8位整数里原码的取值范围为-127到+127 反码也是
但补码是-128到+127,所以 -128的补码应该是10000000,其他的都溢出了,估计你问的是8位整数吧,要是16位的话就把第十六位作为符号位 就行了

网友(4):

假设字长是八位。

128 的八位二进制原码、反码、补码,都不存在。

-128 的八位二进制原码、反码,都不存在。

-128 的八位二进制补码,是按照补码的定义式,求出的。

即:

[-128]补 = 2^8 -128 = 256-128 = 128 = 1000 0000B。

不要迷信“求反加一”,那是骗人的,并不是定义式。

网友(5):

128原码补码反码都是它自己,机器数都是01111111