补码中的最小负数为什么没有对应的原-127的源码反码补码

数字在计算机里是按照二进制来表示的

箭头朝哪边就是朝哪边移动

负数原码转化为补码:符号位不变,数值位按位取反末尾加一。

负数补码转化为原码:符号位不变数值位按位取反,末尾加1

负数反码转化为补码:末尾加1。

在Java中~符号是按位取反例如,~5=-6-5=4. 快速计算:一般~可以直接用(a+1)算,正数负数均可

是按位取反运算与反码是不同的,
反码法规定正数原反补码相同,负数的反码为原码除符号位以外取反
而按位取反运算中:正數取反是先将初始数值转换成二进制数(6==》),再对二进制数的每一位取反:即将0变为1、将1变为0(==》),得到的是最终结果的补码要轉换为最终结果的原码则需再次取补码,(此处一种逆着算为除符号位全取反即为-7另一种为==》==》也为-7)就能得到计算结果。
负数取反:先将初始数值转换成二进制数(以-6为例),再取得二进制数的补码(==》==》)之后对补码的每一位取反:即将0变为1、将1变为0(==》即为5)。得到的是最终结果的补码(由于正数的原码、反码、补码相同该数即为原码),要转换为最终结果的原码则需再次取补码就能得到計算结果。

注:在计算机中运算都是通过补码进行计算的,这个点也是今晚我一直想不到的点以至混淆了概念,胡乱取反

计算机中嘚信息都是以二进制形式表示的,数值有正负之分计算机就用一个数的最高位存放符号(0为正,1为负)

讲一下反码补码原码的使用。

注意┅下取反和反码是有区别的

int本来是32位因为为了简单,假设int是由8位组成的

同时通过符号位得知是负数

所以可以得到取反以后的值是-4

问题如上、要求尽量通俗点!特別是她的补码!!... 问题如上、要求尽量通俗点!特别是她的补码!!

推荐于 · 专注娱乐 专注娱乐 专注娱乐

数值在计算2113中表示形式为机5261器數,计算机只能识4102别016531,使用的是二进

在八位二进制下-128不能用原码或反码表示,反码只能表示0到127,-0到-127;

在八位整数里原码的取值范围為-127到+127反码也是;在八位二进制中就把-0当作最小数-128用,也就是

x为正整数时[X]原=x;

x为负整数时,[X]原=2的n次方-x;



推荐于 · TA获得超过5665个赞

在八位二進制下因为有一位是符号位b9ee7ad6465,原码和反码只能表示0到127,-0到-127所以-128不能用原码或反码表示。

按这种说法128因为无法用八位二进制下的原码表礻,则-128的八位二进制下的补码也是不存在的

但是,为了在数的表示上消除编码映射的不唯一性所以通过人为的定义对转换的强制认定為-128。

因此-128八位二进制下的原码和反码不存在,而八位二进制下的补码为

(1)对于正数,转化为二进制数,在最前面添加一符号位(这是规定的),用1表示负数,0表示正数

如:是一个字节,其中左边第一个0为符号位,表示是正数,其它七位表示二进制的值.其实,机器不管这些,什么符号位还是值,机器统统看作是值来计算。正数的原码、反码、补码是同一个数

(2)对于负数,转化为二进制数,前面符号位为1。表示是负数

计算原码只要在转囮的二进制数前面加上相应的符号位就行了.

2.反码的求法:对于负数,将原码各位取反,符号位不变.

3.补码的求法:对于负数,将反码加上二进制的1即可,吔就是反码在最后一位上加上1就是补码了。





推荐于 · TA获得超过2480个赞

-128的21138位的话原码和反码5261都无法表示, 补码是

个属4102于特殊情况,1653要自巳记

在计算机内,有符号数有3种表示法:原码、反码和补码

原码:在数值前直接加一符号位的表示法。

反码:正数:正数的反码与原码相同负数:负数的反码,符号位为"1"数值部分按位取反。

例如: 符号位 数值位

正数:正数的补码和原码相同

负数:负数的补码则是符号位为"1"。并且这个"1"既是符号位,也是数值位数值部分按位取反后再在末位(最低位)加1。也就是"反码+1"


推荐于 · TA获得超过468个赞

4.二进制原码或者8位二进制反码的表示范围是-127~+127,不能表示-128;而8位二进制补码的表示范围是-128~+127-128的8位二进制补码为。

  1. 求二进制数的补数目的是往计算机里面存放。

2.在计算机里面存放的数字什么的,都称为机器码;那么二进制形式的补数也就改称为补码了。

3.一般情况下都是以 8 位二进制数来讨论补码,少数也有用 16 位数的

4.计算时加上正数,是不需要进行求取补数的;只有进行减法(或者加上负数)才需要对减数求补数。

5.计算结果如果超出了-128~+127的范围结果将是错误的,这是没有办法纠正的

6.应用补码进行计算,完全符合前面介绍的“用补数可把减法转换成加法”的做法只要忽略进位(这个进位1,就是求补的时候加进去的1 中的1),结果就是正确的

7.求取补码,就按照定义的规定负数采用“模减去绝对值”的方法来求,这是求补数的通用方法适合于各种进制、各种大小的数字。

8.不要用求反加一的方法也就不用理会原码和反码了,也不牵涉符号位的问题

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 -127的源码反码补码 的文章

 

随机推荐