Функция div для беззнаковых типов

Почему в библиотеке нет функции div для беззнаковых типов, а есть только варианты для знаковых?

https://en.cppreference.com/w/cpp/numeric/math/div

Достаточно ли такой реализации?

return {x / y, x % y};

Ответы (1 шт):

Автор решения: Mikhailo

В смысле достаточности - да, достаточно, но отнюдь не необходимо.

Эта функция появилась в С давно, когда еще экономили такты, а оптимизаторы были не такими крутыми, так что программисты вынуждены были оптимизировать сами.

Деление было очень дорогостоящим, причем часто результат и деления, и остатка получались с помощью одной одной (длинной по времени) комендой процессора. Так что если нужны были оба значения - можно было СИЛЬНО сэкономить на тактах процессора.

А дальше - как обычно: обратная совместимость.

→ Ссылка