原码,反码,补码,以及补码的加减运算
一. 原码表示
二 补码表示
[x ]补=[x ]反+2-n
补码,正数补码是自己,负数的补码等于自己加上模
-
定点小数的模是2 定点整数的模是2的(n+1)次方。 已知一个数X的补码,那么X的相反数的补码为:X的补码所有位数按位取反,最后再加1 任意两数的补码之和等于两数之和的补码 [x]补+[y]补=[x+y]补
三 整数的原码,补码,反码之间的变换
(1) 利用(负整数)原码求反码
-
正整数的原码,反码,补码都相同。 源码符号为为1不变,整数的每一位二进制数位求反得到反码。
(2)利用(负整数)反码求补码,
-
反码符号为为1不变,反码数值位最低位加1,得到补码。
(3)正整数的原、补、反相同。
四 练习题
1.假设机器字长为8位(1符号位+7数值位),写出下列各整数的原码、反码和补码。 (1)-35 (2)-1 (3)-128
2、假设机器字长为8位(1符号位+7数值位),写出下列各小数的原码、反码和补码。 (1)-47/64 (2)-1/128 (3)-1
4、假设机器字长为8位,计算(补码)下列各式的值。
(1)57+84 (2)57-84 (3)-57+84 (4)-57-84
5. 已知X和Y,用变形补码计算X+Y,并指出结果是否溢出。
注意:设机器字长6位,其中符号位1位,数值位5位, (1) X=11011,Y=-10101;
(2) X=-11011,Y=-10101;