原码: 正数的原码 反码 补码 都相同,负数的原码 符合位为1 其他位和正数原码相同
负数的反码 符号位不变 数值为 按位取反 负数的补码: 负数反码 +1
对一个数做 取补运算:
对该数各位(含符号位)取反 ,然后在末位+1 。
补码性质:对[y]补 作取补运算可得[-y]补。 对[-y]补 作取补运算可得[y]补。
[y]补 = 1.1010 [-y]补 = 0.0110 [-y]原 = 0.0110
[y]补 =0.1110 [-y]补 = 1.0010 [-y]原 = 1.1110
补码加、减法运算规则
1)参加运算的数都用补码表示
2)数据的符号与数据一样参加运算
3)求差是将减数取补用加法代替减法
4)运算结果为补码
5)符号位的进位丢掉。
机器运算训练题
已知:机器字长为8位,x=44 y=53 求x-y
x= 00101100 y= 00110101
[x]补= 00101100 [-y]补 = 11001011
[x]补= 00101100
+ [-y]补 = 11001011
[x-y]补 = 11110111
(x-y)原 =10001001 = -9
溢出判断方法:
1)两个符号相同的数相加 其运算结果应与被加数符号、加数符号相同,如果相反则出现溢出。
2)异号数相加不会出现溢出。
3)两个相同的数相减,不会出现溢出。
4) 两个异号数相减 ,其运算结果的符号应与被减数的符号相同,如相反则发生溢出。
定点数移位运算:
左移: 绝对值扩大
右移: 绝对值缩小
计算机中移位与加减配合,能够实现乘除运算。
带符号数的移位操作:称为算数移位。
无符号数的移位操作称为逻辑移位。
移位规则:
算数移位后,符号位不变。
正数 原码 反码 补码 左移补0 右移补0
负数 原码 左移补0 右移补0
负数 补码 左移补0 右移补1
负数 反码 左移补1 右移补1