《编写高质量代码:改善c程序代码的125个建议》——建议12-3:用减法运算来实现整数除法运算...

    xiaoxiao2023-06-04  175

    本节书摘来自华章计算机《编写高质量代码:改善c程序代码的125个建议》一书中的第2章,建议12-3,作者:马 伟 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

    建议12-3:用减法运算来实现整数除法运算

    我们知道,减法运算比除法运算要快得多。因此,对整数除法运算来说,如果知道被除数是除数很小的倍数,那么可以使用减法运算来代替除法运算。例如,对于下面的示例代码:

    unsigned int x=300; unsigned int y=100; unsigned int z=x/y;

    我们可以将“z=x/y”表达式修改成如下形式:

    unsigned int x=300; unsigned int y=100; unsigned int z=0; while (x>=y) { x-=y; ++z; }

    这里使用减法来代替除法运算,虽然代码看起来不是很直观,但是在运行效率上确实要快许多。当然,具体效率也要取决于被除数与除数的倍数。如果倍数比较大,那么相应的循环次数就会增多,采取这种方法就得不偿失了。

    最新回复(0)