求问二进制的补码和反码问题。

 我来答
做而论道
高能答主

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

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

在计算机中,原码反码,都是不存在的。

因此,原码反码,根本就没有任何用处。

补码,实际上,它就是一个“代替负数”的正数。

使用了补码(正数)之后,在计算机中,就没有负数了。

同时,也就没有了减法运算。

因此,不但能简化算法,而且顺便就能简化计算机的硬件。

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

正数,怎么能代替负数呢?

你看看两位十进制数(0~99)吧:

  25 - 1 = 24

  25 + 99 = (一百) 24

只要你舍弃进位,只保留两位,+99 就能代替-1。

  +99,这就是-1 的补数。

对应关系:补数=负数+计数周期(10^2 = 100)。

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

计算机中,使用二进制,补数,也就改称为:补码。

8 位 2 进制数,计数周期,是:2^8 = 256。

-1 的补码,就是:-1 + 256 = 255 = 1111 1111 (二进制)。

对吗? 分别用十进制、二进制,计算一下试试:

   3  =    0000 0011

  -1  =  + 1111 1111

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

   2  =  (1)  0000 0010

只要舍弃进位,这两种算法,结果,就是相同的。

同理,-2 补码就是:254 = 1111 1110。

。。。

零和正数,必须直接参加运算。

零和正数,不可变换,也就不存在“正数的补码。

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

补码的来源和意义,就是这些。

你如果从“原码反码符号位”开始学补码,肯定是“学不懂”的。

老外,脑子不好用,才编造了那些垃圾!

其实,那些都是无稽之谈,随口乱讲的,并无任何理论依据。

梁叶璩小萍
2019-07-31 · TA获得超过3559个赞
知道大有可为答主
回答量:3166
采纳率:31%
帮助的人:218万
展开全部
不过,得看这个数是什么码了!如果-10011是原码,那它的二进制的反码是-1100,补码是-1101
若-10011是移码,那它的补码是10011,反码是10010.(反码是在原码的取反,而补码是在反码的个位上加1,移码是补码的相反数。)
不知道这样解释你明白嘛!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
毓城督欣畅
2020-05-13 · TA获得超过3915个赞
知道大有可为答主
回答量:3089
采纳率:28%
帮助的人:174万
展开全部
数字:-100
0110。
负数的补码求解方法是它的原码除符号位外逐位取反再末位加1。
原码:1 100
0110;
反码:1 011
1001;
补码:1 011
1010。
--可是为什么书上给的答案是
111
1010

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式