
-128的补码应该如何计算?
如果-128的原码是10000000的话,那么反码就是11111111,那补码+1进位的话不是多了一位吗?...
如果-128的原码是10000000的话,那么反码就是11111111,那补码+1进位的话不是多了一位吗?
展开
3个回答
展开全部
原码是10000000
反码是01111111
补码是10000000
--------------------
补码第一位是1,则数值为负
对补码取反加1,为10000000,则数值绝对值为2^7=128,
所以补码为10000000表示的为-128
反码是01111111
补码是10000000
--------------------
补码第一位是1,则数值为负
对补码取反加1,为10000000,则数值绝对值为2^7=128,
所以补码为10000000表示的为-128
展开全部
在码长 8 位时,原码和反码的表示范围都是:-127 ~ +127。
都不能表示-128。
所以,-128 并没有 8 位的原码和反码。
那么,用“取反加一”求补码,在这就“Duang”的碰壁了。
求-128 的补码,就必须得使用“补码定义式”:
[-128 ]补码 = -128 + 2^8
= 128
= 1000 0000 (二进制)。
-----------------------
用定义式来求补码,是通用的方法。
学习“符号位01原码反码取反加一符号位不变”,
不但求不出-128 的补码,而且,也不会理解补码的意义。
那么,为什么各本计算机的教材,都要介绍这一滩垃圾呢?
讲这些,可以增加计算机老师的收入。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
负数的补码是它的原码取反再加一
-128的原码就是他的绝对值128的二进制表达
10000000
取反就是
01111111
再加一
就是
10000000
虽然-128与正128的补码是一样的
但这只是特例
并不是所有负数的补码都和他的绝对值的补码一样
-128的原码就是他的绝对值128的二进制表达
10000000
取反就是
01111111
再加一
就是
10000000
虽然-128与正128的补码是一样的
但这只是特例
并不是所有负数的补码都和他的绝对值的补码一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询