定点数加减运算
补码加法:
负数用补码表示后,可以和正数一样去处理
当需要减去一个数x的时候,可以用加上x对应的负数的补码【-x】补来代替
【x】补+【y】补=【x+y】补
补码减法
【x-y】补=【x】补+【-y】补(mod 2)
【x-y】补=【x】补+【-y】补 (mod 2的n+1次方)
补码基本规则:
- 运算的各个操作数均用补码表示,运算结果仍是补码
- 符号位和数值位一样参加运算
- 如果求和,则将两补码直接相加,得到两数之和的补码,若求差,则将减数变补(【y】补变【-y】补),然后和被减数相加,得到两数之差的补码
- 如果超过则模丢掉
溢出:
两个正数相加结果变为负数 溢出
两个负数相加结果变为正数 溢出
双符号位也叫变形补码(00表示正 11表示负) 符号位参加运算如果结果出现 01 或10 则发生溢出
单符号位:最高数值位产生进位符号位五金位产生上溢 最高有效位无进位符号位有进位产生下一,也就是当都有进位或都没有进位时不产生溢出,用异或们表示。
定点乘法:
原码一位乘法:数值位相乘 符号位单独处理
乘积的位数扩大一倍(两个4位相乘变成8位)
改进乘法: