在前几篇博客(点击查看)中,做而论道对 “补码加减交错除法” 提出了几点看法。
有些小事就不纠结了,关键是这种算法的结果,与正确结果,有一定差距,这可是不容忽视的问题。
本博文打算用同一组数据,分别用不同的算法来计算,请大家来看看,是哪种算法的结果有所不同,又是在什么地方出了毛病。
题目是:x =-8,y = -3,求 x / y。 这么简单,大家都会算。
商 Q 的符号怎么确定? 被除数 x 和除数 y,同号为正,异号则为负。
商 Q 的绝对值怎么算? 等于被除数 x 和除数 y 两个绝对值相除。
余数 R 的符号,怎么定? 余数的符号,与被除数相同。
余数 R 的绝对值,是多少? R = X-Q × Y。
按照除法运算的法则,答案显然就是:x / y =-8 ÷ (-3) = +2,余-2。
如果用二进制数进行计算,也先得求出被除数、除数的绝对值,再用二进制数列出竖式进行计算。 二进制绝对值的计算方法如下所示:
1 0 =2
-------------
1 1 ) 1 0 0 0 =8
= 3 - 1 1
-------------
1 0 =2