原码、补码、反码之间是怎样转换的?

 我来答
博学小赵爱生活
高能答主

2019-11-16 · 专注于食品生活科技行业
博学小赵爱生活
采纳数:457 获赞数:111846

向TA提问 私信TA
展开全部

正数的原码、反码、补码是一致的。(例如:2的原码:0000 0010,那么其反码和补码都是0000 0010)

负数的反码顾名思义,是除了符号位与原码一致,其余位都与原码相反。(例如:-2的原码是1000 0010,那么其反码是1111 1101),负数的补码则是在其反码的基础上加1。(例如:-2的反码是1111 1110)

1、首先,数字除了我们平时最长使用的十进制数外,还有二进制,八进制,十六进制等。这里我们的原码,补码,反码之间转换指的是二进制数。如下。

2、在二进制数中,数字的正负是根据首位是0还是1来判断的,如果首位是0,那么就是正数,首位是1就代表负数。如下图。

3、从原码到反码,如果该数为正数,也保持不变,如果首位是1,也就是说是负数,就将除了首位的1除外的所有数字取反。如下图所示。点击即可查看。

4、如果想要把原码转换成补码,对正数来说,补码与原码相同,对负数来说,之间将反码加1就可以得到补码,计算示例如下图所示。当然,我们还可以将补码转换为原码。如果是负数得到的补码,可以通过求该补码的补码来得到原来的原码。如下。

蓝雪儿老师
高能答主

2020-02-17 · 愿千里马,都找到自己的伯乐!
蓝雪儿老师
采纳数:266 获赞数:85151

向TA提问 私信TA
展开全部

一、正整数的原码、反码、补码完全一样,即符号位固定为0,数值位相同。

二、负整数的符号位固定为1,由原码变为补码时,规则如下:

1、原码符号位1不变,整数的每一位二进制数位求反,得到反码。

2、反码符号位1不变,反码数值位最低位加1,得到补码。

方法:

(1)正整数的原码,反码和补码计算。【符号位为0,原码=反码=补码】

(2)负整数的原码,反码和补码计算,先求原码,再求反码,最后求补码。

(3)根据补码求真值,一般使用图中的公式计算,正整数符号为+,负整数符号为-,通常完成补码求真后,可以按步骤1、2简单的逆推一下,看结果是否正确。

扩展资料:

补码的表示方法:

模的概念:把一个计量单位称之为模或模数。例如,时钟是以12 进制进行计数循环的,即以12为模。在时钟上,时针加上(正拨)12的整数位或减去(反拨)12的整数位,时针的位置不变。14点钟在舍去模12后,成为(下午)2点钟(14=14-12=2)。

从0点出发逆时针拨10格即减去10小时,也可看成从0点出发顺时针拨2格(加上2小时),即2点(0-10=-10=-10+12=2)。因此,在模12的前提下,-10可映射为+2。由此可见,对于一个模数为12的循环系统来说,加2和减10的效果是一样的。

因此,在以12为模的系统中,凡是减10的运算都可以用加2来代替,这就把减法问题转化成加法问题了(注:计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法)。10和2对模12而言互为 补数。

同理,计算机的运算部件与寄存器都有一定字长的限制(假设字长为8),因此它的运算也是一种模运算。当计数器计满8位也就是256个数后会产生溢出,又从头开始计数。产生溢出的量就是计数器的模,显然,8位 二进制数,它的模数为2^8=256。在计算中,两个互补的数称为“补码”。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
热爱社会的飞飞
高能答主

2021-10-13 · 衣食以厚民生,礼义以养其心。
热爱社会的飞飞
采纳数:530 获赞数:51559

向TA提问 私信TA
展开全部

一、正整数的原码、反码、补码完全一样,即符号位固定为0,数值位相同。

二、负整数的符号位固定为1,由原码变为补码时,规则如下:

1、原码符号位1不变,整数的每一位二进制数位求反,得到反码。

2、反码符号位1不变,反码数值位最低位加1,得到补码。

方法:

(1)正整数的原码,反码和补码计算,【符号位为0,原码反码补码】。

(2)负整数的原码,反码和补码计算,先求原码,再求反码,最后求补码。

(3)根据补码求真值,一般使用图中的公式计算,正整数符号为+,负整数符号为-,通常完成补码求真后,可以按步骤1、2简单的逆推一下,看结果是否正确。




补码的表示方法:

模的概念:把一个计量单位称之为模或模数。例如,时钟是以12 进制进行计数循环的,即以12为模。在时钟上,时针加上(正拨)12的整数位或减去(反拨)12的整数位,时针的位置不变。14点钟在舍去模12后,成为(下午)2点钟(14=14-12=2)。

从0点出发逆时针拨10格即减去10小时,也可看成从0点出发顺时针拨2格(加上2小时),即2点(0-10=-10=-10+12=2)。因此,在模12的前提下,-10可映射为+2。由此可见,对于一个模数为12的循环系统来说,加2和减10的效果是一样的。

因此,在以12为模的系统中,凡是减10的运算都可以用加2来代替,这就把减法问题转化成加法问题了(注:计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法)。10和2对模12而言互为 补数。

同理,计算机的运算部件与寄存器都有一定字长的限制(假设字长为8),因此它的运算也是一种模运算。当计数器计满8位也就是256个数后会产生溢出,又从头开始计数。产生溢出的量就是计数器的模,显然,8位 二进制数,它的模数为2^8=256。在计算中,两个互补的数称为“补码”。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2020-11-15 · TA获得超过5238个赞
知道大有可为答主
回答量:1.1万
采纳率:100%
帮助的人:605万
展开全部
直接转换,即可。
比如,12,
其原码、补码、反码,都相等,都是 12。
 
正数的补码,是其本身。
负数的补码,就用它的正数,减一取反,即可得到补码。
 
原码、反码,根本就没有用。
所以,在计算机中,也没有原码和反码。
那么,我们也不必关心这些。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

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

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

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

正负数值,和补码的转换关系,可见下图:

数值和补码,可以直接转换,并不需要借助原码和反码。

学习原码反码,这就走错道了。

即使学完了原码反码取反加一,也不能理解补码的意义。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式