为了加快运行速度,编译器会将一些除法运算转化成乘法运算。 其中一个转换x/k的方法是,先将k变成1/k 的小数形式,再将1/k 左移N位 得到一个数b 以后每计算 x/k 时,就先计算 x∗b的乘积,再将乘积右移N位得到结果,这样就把耗时的除法运算变成了一个乘法和一个右移运算。 原理: 下面是一段测试C代码以及编译器生成的汇编代码:计算变量除以17的值