补码转化为原码,补码转化为负补码 的快速转换

您所在的位置:网站首页 原码变补码和补码变原码的区别是什么意思 补码转化为原码,补码转化为负补码 的快速转换

补码转化为原码,补码转化为负补码 的快速转换

2024-07-09 08:37| 来源: 网络整理| 查看: 265

前提知识:

1、一个负整数(或原码)与其补数(或补码)相加,和为模。

2、对一个整数的补码再求补码,等于该整数自身。

3、补码的正零与负零表示方法相同。

总之,正整数的补码是其二进制表示,与原码相同。求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。

正整数的原码反码补码一样;

负整数的反码是除了原码符号位其他位全部取反,补码是反码加一。

备注:计算中主要采用的是补码,就是将减法计算变成加法计算,反码是求补码的中间状态此外。补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

一、负数补码转化为原码

例:已知某数X的补码1 111 1010 ,试求其原码。

解:由X的补码=1 111 1010 知,X为负数。(正整数的原码反码补码一样)

方法1:数值位取反+1

1 111 1010 补码

1 000 0101 反码(末位加1)

1 000 0110  原码

方法2: 负数补码中,最右边的1及其右边同原码(红色部分),最右边的1左边同反码(符号位不变)

二、补码转化为负补码

例:已知某数X的补码1 111 1010 ,试求其负补码。

方法1:补码变成原码 -> 符号位取反(负原码) ->负补码

1 111 1010 补码

1 000 0101 反码(末位加1)

1 000 0110  原码

0 000 0110  负原码

0 000 0110  补码  (正整数的原码反码补码一样)

方法2:数值位和符号位全部取反+1

方法3:负补码中,最右边的1及其右边同原码(红色部分),最右边的1左边同反码(符号位变化)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3