反码补码怎么求
计算机中,并没有原码和反码,只是使用补码,代表正负数。
使用补码的意义:可以把减法或负数,转换为加法运算。从而简化计算机的硬件。
------------
比如钟表,时针转一圈,周期是 12 小时。
倒拨 3 小时,可以用正拨 9 小时代替。
9,就称为-3 的补数。
计算方法:12-3 = 9。
对于分针,倒拨 X 分,就可以用正拨 60-X 代替。
------------
如果,限定了两位十进制数 (0~99),周期就是 100。
那么,减一,就可以用 +99 代替。
24-1 = 23
24 + 99 = (1) 23
忽略进位,只取两位数,这两种算法,结果就是相同的。
于是,99 就是 -1 的补数。
其它负数的补数,大家可以自己求!
求出了负数的补数,就可用加法,代替减法了。
------------
计算机中使用二进制,补数,就改称为【补码】。
常用的八位二进制是:0000 0000~1111 1111。
它们代表了十进制:0~255,周期就是 256。
那么,-1,就可以用 255 = 1111 1111 代替。
所以:-1 的补码,就是 1111 1111 = 255。
同理:-2 的补码,就是 1111 1110 = 254。
继续:-3 的补码,就是 1111 1101 = 253。
。。。
最后:-128,补码是 1000 0000 = 128。
计算公式:负数的补码=256+这个负数。
正数,直接运算即可,不需要求补码。
也可以说,正数本身就是补码。
------------
补码的应用如: 7-3 = 4。
用补码的计算过程如下:
7 的补码=0000 0111
-3的补码=1111 1101
--相加-------------
得: (1) 0000 0100 = 4 的补码
舍弃进位,只保留八位,作为结果即可。
这就是:使用补码,加法就代替了减法。
所以,在计算机中,有一个加法器,就够用了。
原码和反码,都没有这种功能。
------------
原码和反码,毫无用处。计算机中,根本就没有它们。
在计算机系统中,数值,一律采用补码来表示和存放。
原码和反码的编码方式,都是不合理的。
一个零,它们都编造了两个代码:-0、+0。
所以,在计算机中,原码和反码,都是不存在的。
所谓的“取反加一”,也是不可能实现的。
真值和补码,可以直接互相转换。
它们的对应关系如下:
只要记住:【补码的首位是负数】这个特点,即可。
--------------------------
码长 8 位时,-128 的原码反码,都是不存在的。
但是,-128,确实有补码 1000 0000。
此时,原码反码补码,是无法计算的。
在计算机系统中,数值,一律采用补码表示和存放。
计算机中,并没有原码和反码。
所以,只要掌握“数值与补码”的转换就可以了。
补码,其实,就是一个“代表负数参加运算”的正数。
用补码代替负数,计算机中,就没有负数了。
同时,在计算机中,也就没有减法运算了。
那么,计算机,只需一个加法器,就可以吃遍天下了。
------------------
补码(一个正数),它怎么就能代替负数呢?
用 10 进制说明,比较容易理解。比如:
25 - 1 = 24
25 + 99 = (一百) 24。
如果你只取 2 位数,超出 2 位的进位,你把它舍弃!
那么,+99,是不是就和-1,是等效的?
同样,+98 就可以代替-2。
。。。
替换关系式 : 正数 = 负数 + 10^n,
n 是位数。
10^n 是 n 位数的计数周期。
----------------------
在计算机中,每次参加运算的位数,也是有限的。
在 8 位 2 进制数时,计数周期就是 2^8 = 256。
-1 就可以用 -1 + 256 = 255 代替。
即:
-1 的补码,就是 255 = 1111 1111 (二进制)。
-2 的补码,就是 254 = 1111 1110。
。。。
求补码,就这么算。
补码的来历,与原码反码,都没有任何关系。
举例,5 - 7 =-2,用八位补码计算如下:
5 = 0000 0101
[-7]补码 = 1111 1001
--相加-------------
得: (1) 1111 1110 = [-2]补码
舍弃进位,结果,就是正确的。
原码补码怎样计算
方法:(1)正整数的原码,反码和补码计算。【符号位为0,原码=反码=补码】(2)负整数的原码,反码和补码计算,先求原码,再求反码,最后求补码。(3)根据补码求真值,一般使用图中的公式计算,正整数符号为+,负整数符号为-,通常完成补码求真后,可以按步骤1、2简单的逆推一下,看结果是否正确。
补码的算法是怎样的?
一、补码加法[X+Y]补 = [X]补 + [Y]补例:X=+0110011,Y=-0101001,求[X+Y]补[X]补=00110011 [Y]补=11010111[X+Y]补 = [X]补 + [Y]补 = 00110011+11010111=00001010注:因为计算机中运算器的位长是固定的,上述运算中产生的最高位进位将丢掉,所以结果不是100001010,而是00001010。
反码、补码、原码怎么计算
100(D)=0110 0100(B)25(D)=0001 1001(B)反码 =1110 0110(B)补码=1110 0111(B)100-25的计算过程是100 的二进制码加25的二进制补码:0110 0100 +1110 0111 =1 0100 1011 去掉第9位的进位,结果 是0100 1011(B)=75(D)
什么是补码,其补码如何计算
就比如-9补码是11110111。9的源码为00001001,如果是负数的话,补码为最高位置1,其余取反也就是11110110,然后在最低位加1即可即11110111。计算机中的负数是以其补码形式存在的补码=原码取反+1。一个字节有8位可以表示的数值范围在-128到+127。用二进制表示也就是10000000-01111111(注意:最高位表示...
已知一个数的补码,求原码、反码及反码的补码
已知一个数的补码,求原码的操作其实就是对该补码再求补码:如果补码的符号位为“0”,表示是一个正数,其原码就是补码。如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。所以[N]原码=1.1010。正数的反码与其原码相同;负数的反码是对正数逐位取反,符号位...
关于原码、反码、补码,求教大神。。
从中可以看到,并没有使用原码和反码,就把补码求出来了。--- 示例,5 - 7 = -2,用补码计算如下:5 = 0000 0101 -7 的补码 = 1111 1001 -相加--- 得: (1) 1111 1110 = -2 的补码 舍弃进位,只取 8 位,结果就是正确的。借助于补码,就可以用加法,实现减法运...
原码,反码,补码的编码规则?
-1,就是“零减一”,即:0000 0000-1。用二进制减法计算,可得:(1) 1111 1111。机器数,只有 8 位,即:1111 1111 = 255(十进制)。这就是-1 的补码。继续减一,可得-2 的补码:1111 1110=254。同理,-3 的补码是:1111 1101 = 253。。。求负数补码的通用公式:-X 的补码=25...
原码、反码的补码怎么求?
求负数的补码,通常都是说:先求原码、再取反加一。但是,原码,是有缺陷的。因为,天下只有一个零。而在原码中,却编造了两个码:+0、-0。所以,八位原码的表示范围,只能是:-127~+127。而在八位的补码中,只有一个零,所以就多出一个:-128。用“取反加一”的方法,求-0 和-128 ...
正数和负数的补码是怎么计算的?
-1 的补码:-1 + 256 = 255 = 1111 1111 (二进制)。。。-128 的补码: 128 = 1000 0000。零和正数,并不存在“等效的正数”。所以,零和正数,根本就不存在补码。--- 用补码(正数)代替负数之后,计算机中,就没有负数了。同时,也就没有减法运算了。因此,就可以简化计算机的硬件。只...
计算机的,反码,原码,补码!求它们的计算方法
-1 的补码是 256 + (-1) = 255 = 1111 1111(二进制)。-2 的补码是:254 = 1111 1110。。。-128 的补码是:128 = 1000 0000。用不存在的“原码反码取反加一”来求,也是这个结果。求负数补码的计算公式,也是: 周期 + 该负数。正数,也可以使用这个公式。但是,计算后,这个周期的数...
博亮右归:[答案] 数在计算机中是以二进制形式表示的. 数分为有符号数和无符号数. 原码、反码、补码都是有符号定点数的表示方法. 一个有符号定点数的最高位为符号位,0是正,1是副. 以下都以8位整数为例, 原码就是这个数本身的二进制形...
略阳县15744732658: 怎么样计算补码的反码 - ?
博亮右归: 一般原码将1变0,0变1就成为反码,而补码在反码基础上加一, 要求补码的反码直接减一就行了.
略阳县15744732658: 反码 补码怎么求? - ?
博亮右归: 反:大于零的是其本身,小于零的各位求反.补:大于零是其本身,小于零是反码加一
略阳县15744732658: 怎么算补码和反码.... - ?
博亮右归: 机器数的补码可由原码得到.1. 如果机器数是正数,则该机器数的补码与原码一样;2. 如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的.3. 机器数的反码可由原码得到.1. 如果机器数是正数,则该机器数的反码与原码一样;2. 如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的.
略阳县15744732658: 如何求一个正数或者负数的原码,反码,补码?比如+5? - ?
博亮右归:[答案] 正数的原码,反码,补码就是它的二进制数 负数原码是它的二进制数 反码是原码各位取反0取反是1,1取反是0 补码就是反码加1 如+5的原码,反码,补码都是1,101 而-5的原码是0,101 反码0,010 补码0,011 正号用1表示 负号用0表示
略阳县15744732658: 分数的原码反码补码怎么算,例如7/16 ,4/16 ,谁能教教我 - ?
博亮右归:[答案] 十进制分数原码和补码可以先将分子和分母分别表示成二进制数,然后计算出二进制小数: 7/16=0111B/2^4=0.0111B 4/16=0100B/2^4=0.0100B 这样求出小数的原码、反码、补码就容易了. 希望能明白!!
略阳县15744732658: 计算机数制转换,求数的反码、补码 - ?
博亮右归: 1.对于正数:[X]原=[X]反=[X]补如求+78的 原码,补码和反码 【+78】原=01001110B;【+78】反=01001110B;【+78】补=01001110B 2.对于负数:[X]反=[X]原数值位取反,符号位不变[X]补=[X]反+1如求-56的原码 补码 反码 【-56】原=10111000B;【-56】反=11000111B;【-56】补=11001000B
略阳县15744732658: 如何求小数的原码补码和反码?如:0.84375 - ?
博亮右归:[答案] 8BIT二进制定点小数的原码的取值范围[-(1-2^-7),(1-2^-7)] 反码[-(1-2^-7),(1-2^-7)] 补码[-1,(1-2^-7)] n位二进制定点小数的原码取值范围[-(1-2^(-n+1)),(1-2^(-n+1))] 反码[-(1-2^(-n+1)),(1-2^(-n+1))] 补码[-1,(1-2^(-n+1))]
略阳县15744732658: 和计算机有关的,反码,原码,补码!求它们的计算方法!望各位指教! - ?
博亮右归: 原码就是一个n位二进制数,例如11110000B 反码把原码按位取反,00001111B 补码把反码加一,产生的最高位进位舍弃,00010000B 补码就是把反码加1 ,就可以了 反码0101010B的补码是0101011B
略阳县15744732658: 十六位机器码的原码反码补码怎么算比如:用十六位机器码1110001010000000来表示定点整数(最高位为符号位),当它是原码时表示的十进制真值为 多少... - ?
博亮右归:[答案] 十六位机器码1110,0010,1000,0000 不管它是什么码,首先都要先将它转化为原码再做计算! 当它是原码时就直接转化为十进制的! (注释2ˇ3=8) =-(2ˇ7)+(2ˇ9)+(2ˇ13)+(2ˇ14)=-25216 -25216就是真值 ! 当它是补码时:先将它转化为原码,...