如何求补码

 我来答
求真实验室
2022-12-13 · 探索生活中的科学奥秘
求真实验室
太平洋电脑网是专业IT门户网站,为用户和经销商提供IT资讯和行情报价,涉及电脑,手机,数码产品,软件等。
向TA提问
展开全部

回答问题之前先让我们来了解一下:

一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。

  • 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。

  • 反码的表示方法是:正数的反码是其本身;负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。

  • 补码的表示方法是:正数的补码就是其本身;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1 (即在反码的基础上+1)。

因此我们在求一个数的补码之前,应当先求出这个数的原码。

  1. 将一个数转化为二进制数,既是它的源码。可通过除二求余法算得(既对一个数除二求余,这会得出一个数和一个余数,再对得出来的数进行求余,得出余数,以此类推,最后将余数倒写即可)。

  2. 如是一个正数,它的补码与它的原码相同;如果是一个负数,它的补码是在它的原码的基础上,开头符号位不变,其余各位取反,最后再在其上面+1(既在反码的基础上+1)。

做而论道
高能答主

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

首先应确定,补码的位数。

再看下图,即可找到方法。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2024-08-14 · TA获得超过5238个赞
知道大有可为答主
回答量:1.1万
采纳率:100%
帮助的人:605万
展开全部

正数的补码,是其本身。

负数的补码,就用它的正数,减一取反,即可得到补码。

如,+9 补码是:0000 1001。

下面求-9 补码:

先减一:0000 1001 - 1 = 0000 1000;

再取反:1111 0111。

所以有:-9 补码 = 1111 0111。

这不就完了吗?

简不简单?意不意外?

原码反码符号位,讨论这些垃圾干嘛?

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

由补码换算到十进制数,也极其简单。

你只需记住:【补码首位的权,是负数】。

一般的八位二进制数,各个位的权是:128、64、32、16、8、4、2、1;

如果是八位的补码,各个位的权则是:-128、64、32、16、8、4、2、1。

假如,有一个补码是:1110 0001,

它代表的十进制数是:-128 + 64 + 32 + 1 = -31。

又如,另一个补码是:0110 0001,

它代表的十进制数是:+ 64 + 32 + 1 = +97。

你看吧,仅仅使用【进制转换】,不就完事了!

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

所谓的:机器数真值符号位原码反码取反加一符号位不变模符号位也参加运算 ... ,

都是【忽悠】!

这些计算机大佬,都是在【卖拐】。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式