数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制;
在八位二进制下,-128不能用原码或反码表示,反码只能表示0到127,-0到-127;
用补码表示为:10000000
在八位整数里原码的取值范围为-127到+127,反码也是;在八位二进制中就把-0当作最小数-128用,也就是10000000
-0的原码:10000000
-0的反码:11111111
-128的补码:10000000
扩展资料
小数原码
[X] =
X( 0≤X <1 )
1- X (-1 < X ≤ 0)
例如: X=+0.1011 , [X]原= 0.1011
X=-0.1011 [X]原= 1.1011
整数原码
[X]原 =
X (0≤X <2(n-1))
2(n-1)-X (- 2(n-1) < X ≤ 0)
x为正整数时,[X]原=x;
x为负整数时,[X]原=2的n次方-x;
x为负小数时,[X]原=1-x;
参考资料:百度百科 反码
百度百科 二进制
原位:无
反码:无
补码:10000000
1 原码和反码都无法表示, 补码是10000000
2 -128没有反码
3 反码只能表示0到127,-0到-127
4.二进制原码或者8位二进制反码的表示范围是-127~+127,不能表示-128;而8位二进制补码的表示范围是-128~+127,-128的8位二进制补码为10000000。
扩展资料:
二进制数的补码
求二进制数的补数,目的是往计算机里面存放。
2.在计算机里面,存放的数字什么的,都称为机器码;那么二进制形式的补数,也就改称为补码了。
3.一般情况下,都是以 8 位二进制数来讨论补码,少数也有用 16 位数的。
4.计算时加上正数,是不需要进行求取补数的;只有进行减法(或者加上负数),才需要对减数求补数。
5.计算结果如果超出了-128~+127的范围,结果将是错误的,这是没有办法纠正的。
6.应用补码进行计算,完全符合前面介绍的“用补数可把减法转换成加法”的做法,只要忽略进位(这个进位1,就是求补的时候,加进去的1 0000 0000中的1),结果就是正确的。
7.求取补码,就按照定义的规定,负数采用“模减去绝对值”的方法来求,这是求补数的通用方法,适合于各种进制、各种大小的数字。
8.不要用求反加一的方法,也就不用理会原码和反码了,也不牵涉符号位的问题。
参考资料:百度百科--二进制算法
在八位二进制下,因为有一位是符号位,原码和反码只能表示0到127,-0到-127,所以-128不能用原码或反码表示。
按这种说法,128因为无法用八位二进制下的原码表示,则-128的八位二进制下的补码也是不存在的。
但是,为了在数的表示上消除编码映射的不唯一性,所以通过人为的定义对转换的10000000强制认定为-128。
因此,-128八位二进制下的原码和反码不存在,而八位二进制下的补码为10000000。
扩展资料:
1.原码的求法:
(1)对于正数,转化为二进制数,在最前面添加一符号位(这是规定的),用1表示负数,0表示正数。
如:0000 0000是一个字节,其中左边第一个0为符号位,表示是正数,其它七位表示二进制的值.其实,机器不管这些,什么符号位还是值,机器统统看作是值来计算。正数的原码、反码、补码是同一个数。
(2)对于负数,转化为二进制数,前面符号位为1。表示是负数。
计算原码只要在转化的二进制数前面加上相应的符号位就行了.
2.反码的求法:对于负数,将原码各位取反,符号位不变.
3.补码的求法:对于负数,将反码加上二进制的1即可,也就是反码在最后一位上加上1就是补码了。
参考资料:
百度百科-原码
百度百科-反码
百度百科-补码
-128的8位的话原码和反码都无法表示, 补码是10000000。
这个属于特殊情况,需要自己记住。
扩展资料
在计算机内,有符号数有3种表示法:原码、反码和补码。
原码:在数值前直接加一符号位的表示法。
符号位 数值位 [+7]原= 0 0000111 B[-7]原= 1 0000111 B
反码:正数:正数的反码与原码相同。负数:负数的反码,符号位为"1",数值部分按位取反。
例如: 符号位 数值位
[+7]反= 0 0000111 B
[-7]反= 1 1111000 B
补码的表示:
正数:正数的补码和原码相同。
负数:负数的补码则是符号位为"1"。并且,这个"1"既是符号位,也是数值位。数值部分按位取反后再在末位(最低位)加1。也就是"反码+1"。
参考资料
补码—百度百科
8位的话原码和反码都无法表示, 补码是10000000 -128没有反码 反码只能表示0到127,-0到-127(当然指的是8位)
记得采纳啊