电子设备在计算中主要采用的是补码,就是将减法计算变成加法计算,反码是求补码的中间状态此外。补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
基础知识:
1、一个负整数(或原码)与其补数(或补码)相加,和为模。
2、对一个整数的补码再求补码,等于该整数自身。
3、补码的正零与负零表示方法相同,即0的补码为00000000.
正整数的原码反码补码一样;
负整数的反码是除了原码符号位其他位全部取反,补码是反码加一。
在二进制计算中,补码相加后仍为补码,因此对于负整数在计算后得到二进制数要转化为原码。
一、 负数补码转化为原码的计算方法:
例:已知某数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左边同反码(符号位变化)