原码,反码,补码,以及补码的加减运算

一. 原码表示

二 补码表示

[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

十进制 二进制 原码 补码 反码 -35 -00100011 10011100 11011100 11011101 -1 -00000001 10000001 11111110 11111111 -128 空 无 无 10000000

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;

经验分享 程序员 微信小程序 职场和发展