原码、反码、补码的产生、应用以及优缺点有哪些?
2个回答
展开全部
1、 原码:是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。
优点:最简单直观。
缺点:不能直接参加运算,可能会出错。
原码来历:在机器中,只能识别二进制数字,所以所以的数字都用原码来表示。
2、 反码:可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。
优点:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则。
缺点:没有缺点
反码来历:为了解决“正负相加等于0”的问题,在“原码”的基础上,人们发明了“反码”
3、 补码:可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的
优点:可以把负数直接拿来算加法。
缺点:容易忘记公式,计算错误。
补码来历:计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行,用补数代替原数,可把减法转变为加法。
4、 在计算机中为什么要使用补码:由于原码和反码中,+0与-0的表示并不相同,所以计算机中一般使用补码。其实还有一个更重要的作用,就是利用高位溢出,将减法运算变成加法。
优点:最简单直观。
缺点:不能直接参加运算,可能会出错。
原码来历:在机器中,只能识别二进制数字,所以所以的数字都用原码来表示。
2、 反码:可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。
优点:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则。
缺点:没有缺点
反码来历:为了解决“正负相加等于0”的问题,在“原码”的基础上,人们发明了“反码”
3、 补码:可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的
优点:可以把负数直接拿来算加法。
缺点:容易忘记公式,计算错误。
补码来历:计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行,用补数代替原数,可把减法转变为加法。
4、 在计算机中为什么要使用补码:由于原码和反码中,+0与-0的表示并不相同,所以计算机中一般使用补码。其实还有一个更重要的作用,就是利用高位溢出,将减法运算变成加法。
展开全部
计算机系统中,数值,一律用补码表示和存储。
在计算机中,都是正数,并没有负数。
那么,负数,又怎么表示呢?
想想时钟吧:
倒拨 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)。
。。。
计算机系统中,数值,一律用补码表示和存储。
在计算机中,原码、反码,都不存在。
原码反码所具有的,都是缺点,没有任何优点,就不必讨论了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询