求解 -128的补码为什么是1 0000000 -128 = - 1111111 源码= 1

作者&投稿:曹闸 (若有异议请与网页底部的电邮联系)
-128的补码是什么?原码是什么?乱死我了!~

128没有原码、逆码和补码,但是补码是从-128到+127,所以-128的补码应该是1000万,-128的补码没有逆码。减128等于1000000。
二进制源代码或8位二进制逆码的表示范围为-127~+127,不能表示-128;8位二进制补码范围为-128~+127,-128的8位二进制补码范围为1000万。







其他的都超过了,负127到正127的逆在8位整数中也是如此。

扩展资料:
计算机中的所有数字都由0、1的编码表示,数字的符号也不例外。如果一个机器号的长度是n位,那么最左边的位用作符号位,其余的n-1位用作表示该值。







我要在符号位上用“0”表示一个正数;我要用1表示负数。数字位表示真值的绝对值。当小于n-1位时,小数点将在最低位的右边加0。整数在最高位的左边加上0来补充n-1位。这种形式的计算机编码称为源代码。







负码表示法规定正数的负码与原码相同。负数的倒数是将原代码逐位倒转,符号位除外。







在计算机系统中,值总是以补码的形式表示和存储。原因是,用补码,符号位和数字范围可以统一处理;同时,加减法也可以统一。
另外,互补码与原码相互转换,其操作过程是相同的,不需要硬件电路的响应。

这是二进制表示,在位数上只有0和1,0加1为1,1+1=10,即原位归零,上位进1。
对应8位二进制,第一位为1,第二位为2, 即0000,0011换算为十进制是3,
第三位为4,即0000,0111换算为十进制为4+2+1=7,
第四位为8,第五位为16,第六位为32,第七位为64,第八位为128,
其规律为每上一位其位值乘2,
对应0111,1111换算64+32+16+8+4+2+1=127,
加1后每位都向上一位进位,变为1000,0000即127+1=128,对应第八位的128,其它位都为0。当二进制数为1111,1111时=128+64+32+16+8+4+2+1=255.
第九位位值=128*2=256。
1,1111,1110=256+128+64+32+16+8+4+2+0=510






吴旗县18064347935: 为什么8位有符号十进制整数- 128的补码是1000 0000 ?我想来想去想不通 - 128不是超过8位了嘛?应该和+128一样,归在16位里啊,为什么128的补码是... -
隆帝巴美:[答案] +0和-0都是一个. 看看补码的原理就是了. 好像是绝对值按位取反+1. 128在8位补码是无法表示的,-128才能表示. 1000 0000是-128的补码,0的补码就是0.

吴旗县18064347935: 8位二进制数能表示的最小整数为什么是 - 128,10000000为什么是 - 128的补码. -
隆帝巴美: 只能写一百字,叫我情何以堪~~~~ 有符号的8位二进制只有补码可以表示-128,而原码和反码只能表示-127到+127这个区间内的数,表示不了-128 定义规定:-128的补码是:1000 0000,用常规方法无法计算!

吴旗县18064347935: - 128的二进制补码是怎么得来的? -
隆帝巴美: 补码10000000唯一的表示-128是一个规定,不需要推算,理由如下: 现在来推-128的补码: -128的补码:10000000 - 10000000(+128没有符号位)=10000000 -128的反码:1111 1111(1000 0000 +1=1000 0000+1111 1111=1111 1111) -128的...

吴旗县18064347935: - 128的补码怎么来的? -
隆帝巴美: 什么是补码?怎么求补码? 看看书,就会知道,补码,是有严格定义的. 按照定义来求补码,就用不着涉及原码反码. 如果,你非要用求反加一的做法,就难免碰上原码反码. 但是,的八位码长的限制下,-128,既没有原码,也没有反码. ...

吴旗县18064347935: - 128的补码为什么与原码一样,当位数控制在8位数时 -
隆帝巴美: 没有为什么...就是这样规定的.(老师上课就是这样说的,硬件技术中很多东西都是人为设定的...) 可以这样理解: 原码和反码能表示的有符号数范围都是-127~+127 其中,+0和-0的原码、反码都不相同. 而在补码中,+0和-0的补码是一致的,都是00000000 如此一来,补码中相应多出了一个数,就被用来表示-128了

吴旗县18064347935: 计算机的补码为何可以表示 - 128, -
隆帝巴美:[答案] 没有为什么.就是这样规定的.(老师上课就是这样说的) 可以这样理 原码和反码能表示的有符号数范围都是-127~+127 其中,+0和-0的原码、反码都不相同. 而在补码中,+0和-0的补码是一致的,都是00000000 如此一来,补码中相应多出了一个数...

吴旗县18064347935: 为什么128的补码是10000000呢.我觉得补码1000 0000的十进制数应该是 - 0 呀 -
隆帝巴美: 求-128的8位补码,不能用求反加一来做. 因为,-128,没有原码,也没有反码,拿什么来求反加一?要用补码的定义式来做,即可得出是 1000 0000.

吴旗县18064347935: 八位二进制数据的范围为什么八位二进制补码的表示范围是 - 128--127? - 128的补码不是10000 0000,而第一位不应该是符号位吗,为什么这里不是表示的零而... -
隆帝巴美:[答案] 一下是鄙人的理C的补码设置是为了方便表示各个数,以及实现减法变为加法运算.补码所遵循的规则是出于科学性质考虑的.我们先抛开补码的实现规则,从补码的出发点来考虑.比如8bit的short int,每一位都有两种可能,0或1.则一定是可以表示...

吴旗县18064347935: 请高手解释一下为什么 - 128用二进制表示为1000000000000000? -
隆帝巴美: -128的8位补码是:1000 0000B,换算成十进制就是 128. 负数的补码,是用“模”计算出来的,即: [X]补 = 256 - |X| = 256- |-128| = 128. 不要用“求反加一”来算,那只不过是一个经验公式而已.

吴旗县18064347935: - 128的补码是怎么求出来的啊? -
隆帝巴美: 方法一:有公式的:要求x为负数 [-x]补=2的8次方-|-x| 所以-128的补码=256-|-128|=128=80H 方法二:直接由原码求补码 (1)正数的原码=补码 (2)负数:先写出负数绝对值的原码,再求反加一 所以—128的绝对值的原码为80H,求反为0111 1111,再加一为1000 0000,就是80H

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网