Есть ли функция C ++ (встроенная или иначе), которая дает целочисленное разделение и модульные результаты дивизии, не повторяя операцию?

Вы могли бы написать что-то вроде:

int i = 3;
int k = 2;
int division = i / k;
int remainder = i % k;

Кажется, что мысль это бы, на низком уровне, спросить ALU для выполнения двух видение операций: один возвращает костра, и один возвращает остаток. Однако я считаю, что ALU, скорее всего, будет рассчитать как за одну операцию. Если это так, это не оптимально эффективно.

Есть ли более эффективный способ сделать это, не просив ЦП рассчитать дважды? Другими словами, можно сделать в одной операции от C ++?

5
задан Adam S 14 September 2011 в 23:05
поделиться