通过计算和存储逆数来快速整数除法?

Chu*_*huu 3 c# inverse division

据我了解,当前进行整数除法的方法是在硬件中计算倒数,然后执行乘法。

我有一些 C# 代码,其中大量时间花费在整数除法上,并且值很少更改,以至于可以缓存它们的值。

我想在软件中执行硬件算法,即计算除数的倒数并将所有这些除法转换为乘法。有谁知道执行此转换的算法,或者更好的是,CLR 中是否有某些东西可以自动执行此转换?

usr*_*usr 5

有一个关于整数除以乘法主题的优秀博客文章系列。它确实包含了您自己实施转型所需的一切。

  • 仅链接的答案通常会引起人们的不满;您能在回答中给出程序的要点吗? (5认同)
  • 仅链接答案的问题是您无法控制该网站。如果将来它失败了,这个答案对任何读它的人来说都是毫无用处的。 (3认同)
  • 我认为这个答案已经说明了回答这个问题所要说的一切。链接的帖子质量非常好。我不只是复制第一个谷歌热门产品。我记住它后从浏览器历史记录中取出了它。**不过,请随意编辑我的帖子。** (2认同)