bxb_koala
请教一个位运算的题目?
:em14: 位运算实现除数为非2 的N次方的除法,2 的N次方的除法简单,但是这道题不知如何下手,请达人指点
poor-man
浮点数就不知道怎么弄了.
假设被除数是X,除数是Y,商为z,余为t,
则除法满足:X = Y*z + t, 设z为(2n1 + t1),(2n表示2的n1次方,t1为模数),则有:X = Y*(2n1+t1)+t,即: X = Y*2n1 + Y*t1 +t, 同样,Y*t1也可以简化为Y*(2n2+t2),(2n1表示为2的n2次方)....。看出规律了吗!
不错,最后得到的结果就是:X=Y1*2n1+ Y2*2n2+...+Yn+2nn+t1+t2+...tn
[[i] 本帖最后由 poor-man 于 2008-4-7 18:14 编辑 [/i]]