根据我的理解,当前进行整数除法的方法是计算硬件中的逆,然后执行乘法。
我有一些C#代码,其中大量时间用于整数除法,其值很少变化,以至于它们的值可以缓存。
我想在软件中执行硬件算法,即计算除数的倒数并将所有这些除法转换为乘法。有没有人知道执行这种转换的算法,或者甚至更好,CLR中是否有可以自动执行此操作的内容?
答案 0 :(得分:4)
有一个很棒的blog post series on the topic of integer division by multiplication。它确实包含了自己实现转换所需的一切。