反码表示法,如果机器字长为n,则反码表示如下:
若X是整数
[X]反=X,0≤X≤2的n-1次 -1;
[X]反=2的n次 -1 ,-(2的n-1次 + X) ≤ X ≤0
若X是小数
[X]反=X,0≤X<1;
[X]反=2- 2的-(n-1)次 +X ,- 1< X ≤0
以上方法较为繁琐,不过是最为正确的方法,对于求原码的反码还有一些比较简便的方法,小编在这里告诉大家。
对于整数而言,无论是其原码,还是其反码,都是本身的二进制数,当然这里是正整数。而负整数的反码则是其正整数原码的所有位(包括符号位),取反即可。
小数求反码也是如此
-若机器字长n=8位,分别给出下列反码表示。
[+1]反=0 0000001
[-1]反=1 1111110
[+127]反=0 1111111
[-127]反=1 0000000
[+45]反=0 0101101
[-45]反=1 1010010
[+0.5]反=0 1000000
[-0.5]反=1 0111111
数值0的反码表示有两种形式
[+0]反=0 0000000
[-0]反=1 1111111
以上便是求解反码的一些方法,如果有什么问题,欢迎大家指正!!!