原码,反码,补码的定义是什么。

麻烦大家帮帮忙,我给分的。最好能举例说明呵呵!... 麻烦大家帮帮忙,我给分的。最好能举例说明呵呵! 展开
 我来答
沙里波特
2022-01-26 · TA获得超过5238个赞
知道大有可为答主
回答量:1.1万
采纳率:100%
帮助的人:605万
展开全部

有符号数,有三种表示方法,即原码、反码和补码。

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

所以,在计算机系统中,原码和反码,都是不存在的。

----------

想要理解补码,要先从补数开始。

钟表的时针转一圈,周期是 12 小时。

倒拨 3 小时,就可以用正拨 9 小时代替。

9 就是-3 的补数。 9 = 12-3。

同理,分针倒拨 X 分,就可以用正拨(60-X)代替。

60 是分针的周期。

------

对于两位十进制 0~99,周期就是一百。

这时,减一,你就可以用 +99 代替。

   25 - 1 = 24

   25 + 99 = (1) 24

结果取两位,舍弃进位。这两种算法,功能就是相同的。

   99,就称为-1 的补数。

   98,就是-2 的补数。

   。。。

   负数的补数 = 周期 + 该负数。

利用补数,就可以用加法,代替减法运算。

正数,不需要求补数。

------

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

八位二进制,共有 256 个数字。负数的补码 = 256+该负数。

16 位二进制,共有 2^16 个数字。负数的补码 = 65536+ 该负数。

这就是补码的定义式。在你的书上,一定能找到这种算式。

------

在八位时:

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

 -2 的补码是:254 = 1111 1110。

 -3 的补码是:253 = 1111 1101。

 。。。

 -128 补码:128 = 1000 0000。

------

有了补码,计算机仅需要一个加法器,就可以加减通用了。

而原码和反码,不具备这种能力。

所以,原码和反码,究竟是怎么定义,就不必关心了。

因为,它们,毫无用处。


广告
点击进入详情页
本回答由提供
沐闵马佳晋
2019-05-15 · TA获得超过3596个赞
知道大有可为答主
回答量:3022
采纳率:27%
帮助的人:363万
展开全部
原码:
在数值前直接加一符号位的表示法。对于8位二进制来说:
[+7]原=
0
0000111
[-7]原=
1
0000111
反码:
正数的反码与原码相同。
负数的反码,符号位为“1”,数值部分按位取反。
[+7]反=
0
0000111
[-7]反=
1
1111000
补码:
正数的补码和原码相同。
负数的补码则是符号位为“1”,数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。
[+7]补=
0
0000111
[-7]补=
1
1111001
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式