现代编译器优化竟然可以作国中等级的代数运算?
这篇是我 2018 年在 stackoverflow 发的问题,当时在 stackoverflow 上也有不少讨论,也让我赚了不少 stackoverflow 点数,最近有机会重新整理一下这篇文章,写在自己的网站上。
不论是 CPU 或是电路设计中,除法的速度都相当慢,是个无论如何都要避免的存在。一般而言,对于可以多次使用的除法,可以用计算倒数之后拿来乘(注:请见文尾)。而本文想要探讨的是“整数的常数除法 (constant integer division)"”,像是“一个 32-bit 的 unsigned integer 除以 10”这种问题。
