负数的补码如何计算?举个例子!

负数的补码如何计算?举个例子!... 负数的补码如何计算?举个例子! 展开
 我来答
实攸栗燕
2019-12-29 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:748万
展开全部
正数的原码,补码,反码都相同,都等于它本身
负数的补码是:符号位为1,其余各位求反,末位加1
反码是:符号位为1,其余各位求反,但末位不加1
也就是说,反码末位加上1就是补码
-1011
原码:11011
反码:10100 //负数时,反码为原码取反
补码:10101 //负数时,补码为原码取反+1
移码:00101 //原数+10000
做而论道
高能答主

2022-09-19 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部

在计算机系统中,数值,一律采用补码来表示和存储。

补码,并非是什么新发明。

补码的来源,就是简单的加减法。

--------------------

如果,码长是八位,总共可构成 256 组代码。

0,在计算机中的存储格式就是:0000 0000。

+1,你就加上 1,就得:0000 0001。

+2,你就再加一个,得:0000 0010。

。。。依次递增。。。

+127,的存放格式,是:0111 1111。

--------------------

负数,也没有什么新意,也就是逐次减一。

0,刚刚说过的,是:0000 0000。

-1,你就减去 1,就得:1111 1111 (十进制 255)。

-2,你就再减一次,得:1111 1110 (十进制254)。

。。。依次递减。。。

-128,的存放格式,是:1000 0000 (十进制 128)。

不能再减了。 再减,就是 +127 = 0111 1111 了。

以上所说这些,就是补码。

--------------------

由此,你就可以推导出,求补码通用的公式:

  X >= 0, [ X ]补 = X;   即 0 和正数不用变

  X < 0, [ X ]补 = X + 2^n。 n 是补码的位数

--------------------

例如,求-128 的八位补码:

  [-128]补码=-128 + 2^8

        = 128 =1000 0000 (二进制)

--------------------

例如:用八位补码计算:5 - 7 =-2。

计算如下:

    5 = 0000 0101

 [-7]补码 = 1111 1001

--相加-----------

  得: (1) 1111 1110 = [-2]补码

进位,不属于八位补码,舍弃后,结果正确。

--------------------

由此可知:

使用了补码,减法,就可以用“加法运算”来实现了。

使用了补码,不但简化了运算,也就能够简化硬件。

原码和反码,都没有这种功能。

所以,计算机,根本就不使用它们。

--------------------

补码的形成,与“原码反码符号位取反加一”,毫无关系。

那些乱七八糟的事,都是数学不好老外,胡编乱造的。

在计算机里面,这些,都是没有用的。

不理会它们,也不会影响你学习和使用计算机。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式