感悟网 导航

补码是怎么算的,原码又是怎么算的?

作者&投稿:臧娜 (若有异议请与网页底部的电邮联系)
~

以补码10010110为例,有两种计算方法求原码:

算法1: 

补码=原码取反再加1的逆运算。

10010110是补码,应先减去1变为反码,得10010101;

由反码取得源码即除符号位外其他为按位取反,得11101010,即十进制数的-106。

算法2:

负数补码速算法,由最低位(右)向高位(左)查找到第一个1与符号位之间的所有数字按位取反的逆运算

10010110是补码,符号位与最后一个1之间的所有数字按位取反,得11101010

扩展资料

计算机系统中的补码和原码:

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。原码不能直接参加运算,可能会出错。

例如数学上,1+(-1)=0,而在二进制中00000001+10000001=10000010,换算成十进制为-2。显然出错了。

参考资料:百度百科-补码



《由补码来计算原码的计算方法是怎样的?》
答:下面根据该问题来解释由补码求原码的过程:补码:1110 0000 补码的反码:1001 1111 (最高位为符号位,求反码时,符号位不变,其余各位取反)补码的补码:1010 0000 (补码为再反码的基础上进行加1操作)所以1110 0000的原码为1010 0000,对应的10进制数为-32(最高位为符号位,1表示负数,0...

《补码怎么求原码?》
答:然后再求-X的补码,根据补码运算规则:正数或零:[X]补=[X]原 负数:符号位为1,各数值位取反,最低位加1。或:符号位为1,数值部分从高位到低 位取反,直到最后一个“1”前。便可得到【-X】的补码为0.1101 再比如X=0.1101,求【-X】补码 先求 -X=-0.1101,原码即为1.1101,根据...

《由补码求原码的公式》
答:补码与原码互补,即它们之间的关系式为:补码=原码求反+1;原码=补码求反+1。

《原码,反码,补码,移码,阶码怎么算?》
答:反码、补码是同一个数!(2)对于负数,转化为二进制数,前面符号位为1.表示是负数.计算原码只要在转化的二进制数前面加上相应的符号位就行了.2.反码的求法:对于负数,将原码各位取反,符号位不变.3.补码的求法:对于负数,将反码加上二进制的1即可,也就是反码在最后一位上加上1就是补码了....

《原码、补码、反码之间是怎样转换的?》
答:二、负整数的符号位固定为1,由原码变为补码时,规则如下:1、原码符号位1不变,整数的每一位二进制数位求反,得到反码。2、反码符号位1不变,反码数值位最低位加1,得到补码。方法:(1)正整数的原码,反码和补码计算。【符号位为0,原码=反码=补码】(2)负整数的原码,反码和补码计算,先求...

《由补码求原码如何求》
答:已知一个数的补码,求原码的操作分两种情况:(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。(2)如果补码的符号位为“1”,表示是一个负数,源求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。已知一个补码为11111001,则原码是10000111(-7):因为...

《怎么求补码的原码?》
答:已知一个数的补码,求原码的操作其实就是对该补码再求补码:1、如果补码的符号位为“0”,表示是一个正数,其原码就是补码。2、如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。例如:已知一个补码为11111001,则原码是10000111(-7)。因为符号位为“1”,...

《原码,反码与补码怎么计算的》
答:[-11d]补 =11110101b ,将反码末位加1得补码 若真值是正数,无须上述操作,正数的原码反码补码符号位为0,数值与真值相同 例如:[+19d]原 =[+19d]反 = [+19d]补 = 00010011b 符号位右侧的2个0用于补齐8位 ( d是十进制数后缀 , b是二进制数后缀 )...

《补码和原码的区别是什么?》
答:原码补码反码怎么计算 一、正整数的原码、反码、补码完全一样,即符号位固定为0,数值位相同。二、负整数的符号位固定为1,由原码变为补码时,规则如下:1、原码符号位1不变,整数的每一位二进制数位求反,得到反码。2、反码符号位1不变,反码数值位最低位加1,得到补码。方法:(1)正整数的原码...

《二进制补码怎么算?》
答:= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反} 以十进制整数+97和-97为例:+97原码 = 0110_0001b +97补码 = 0110_0001b -97原码 = 1110_0001b -97补码 = 1001_1111b 2、纯小数的原码:纯小数的原码如何得到呢?方法有很多,在这里提供一种较为...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网