原码、反码、补码的产生、应用以及优缺点有哪些?

 我来答
好程序员
2016-05-02 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部
1、 原码:是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。
优点:最简单直观。
缺点:不能直接参加运算,可能会出错。
原码来历:在机器中,只能识别二进制数字,所以所以的数字都用原码来表示。
2、 反码:可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。
优点:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则。
缺点:没有缺点
反码来历:为了解决“正负相加等于0”的问题,在“原码”的基础上,人们发明了“反码”
3、 补码:可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的
优点:可以把负数直接拿来算加法。
缺点:容易忘记公式,计算错误。

补码来历:计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行,用补数代替原数,可把减法转变为加法。
4、 在计算机中为什么要使用补码:由于原码和反码中,+0与-0的表示并不相同,所以计算机中一般使用补码。其实还有一个更重要的作用,就是利用高位溢出,将减法运算变成加法。
做而论道
高能答主

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

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

在计算机中,都是正数,并没有负数。

那么,负数,又怎么表示呢?

想想时钟吧:

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

  倒拨 X 分,可以用 (60-X) 分来代替。

这里面,有个“周期”,分别是:12、60。

学过三角函数的同学,都知道,2π 是周期。

-π/2 处的函数值,也与+3π/2 (即:2π-π/2) 处相同。

利用周期,就可以求出“负数的补数”,用来代替负数。

(求出的补数,实际上是一个正数。)

那么,减法,也就可以用“加法器”来运算。

采用补码的意义,就是:简化了硬件。

计算机用二进制,补数,就称为补码。

八位二进制是:0000 0000~1111 1111(十进制 255)。

周期就是 256 = 2^8。

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

-2 的补码就是 256-2 = 254 (二进制 1111 1110)。

。。。

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

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

原码反码所具有的,都是缺点,没有任何优点,就不必讨论了。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式