Если делитель известен заранее (например, для кода, созданного компилятором C, это константа, известная во время компиляции), то целочисленное деление (из которого можно легко получить модуль) иногда может быть реализовано с помощью умножения и сдвиг. Подробнее см. в этой статье (предупреждение: это не легкое чтение).
Во многих процессорах целочисленное умножение значительно быстрее, чем целочисленное деление; некоторые процессоры даже не имеют кода операции целочисленного деления (умножение на n -битные значения можно оптимизировать в схему глубины O (log n) , тогда как не существует известного способа оптимизировать схему деления ниже глубины O (n) ).