这一小节我们学习一下补码的除法运算,补码除法也是用加减交替法的,与原码的加减交替法有点区别
大家还记得原码的除法运算吗?符号位单独确定,被除数和除数都取绝对值,首先将被除数-除数得到余数,根据余数的正负性判断是商1还是商0,以及根据余数的正负性来进行下一步的操作,如果余数是负数,就将余数左移,加上除数得到新的余数;如果余数是正数,就将余数左移,减去除数得到新的余数,忘记的同学可以复习一下上一小节的内容:原码的除法运算
补码除法也是用加减交替法运算的,与原码的除法相比,补码除法的符号位参与运算;被除数/除数/余数采用双符号位
补码的除法运算是这样的:
1.首先判断被除数和除数是不是同号,如果是同号,被除数-除数得到余数,商1;如果是异号,被除数+除数得到余数,商0
2.判断余数和除数是吧同号,同号,余数左移一位再减去除数,商1;如果异号,余数左移一位再加上除数,商0
3.重复第2个步骤n次,直到要商最后一位的时候,最后一位的商恒置为1(不管除数和余数是否同号)
具体的操作流程如下
大家可以将原码和补码的加减交替法联系起来,方便记忆