今儿个我也来问一个:除法根据什么计算法则被翻译成乘法
我在编译一个简单的例子int a,b;
a = b/3;
结果指令里把/3变成了 imul 0x55555556 完后再 sar0x1f
哪位老师用数学方法解释下这个。
thanks,any reply are helpful to me. See 《Division by Invariant Integers using Multiplication》,PLDI94 for algorithm. duanlin 发表于 2012-06-09 18:20 static/image/common/back.gif
我在编译一个简单的例子
int a,b;
最根本还是除以3等于乘以0.333333啊
回复 2# steven_known
谢谢!这个正是我想要的。
原来数学原理远比我想象的要复杂。
页:
[1]