发布网友 发布时间:2022-05-04 15:59
共5个回答
热心网友 时间:2022-06-23 22:03
数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制;
在八位二进制下,-128不能用原码或反码表示,反码只能表示0到127,-0到-127;
用补码表示为:10000000
补码的计算有两种方法:
1.一个数取代数的负号运算,相当于先取反再加1,10000000先看成是负数,我们要知道它的绝对值是多少,就取反加1,可结果还是10000000
这时不能看成负数了,最高位是数值位,因此是128,所以原来是-128。
2.127是01111111,01111111+10000000=11111111,127+x=-1,=>x=-128。
在八位整数里原码的取值范围为-127到+127,反码也是;在八位二进制中就把-0当作最小数-128用,也就是10000000
-0的原码:10000000
-0的反码:11111111
-128的补码:10000000
补码的设计目的是:
使符号位能与有效值部分一起参加运算,从而简化运算规则;
使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计 。
负数的补码就把他正数的原码取反再加1就可以了,正数的原码反码补码都是一样的。
热心网友 时间:2022-06-23 22:03
-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 也没有八位的原码和反码!
原码反码,都是什么,不必关心!
热心网友 时间:2022-06-23 22:04
因为+0和-0都是0,有重复,热心网友 时间:2022-06-23 22:04
在八位二进制下,-128不能用原码或反码表示。热心网友 时间:2022-06-23 22:05
在八位二进制下,-128 的原码和反码,都不存在。