детектировать переполнения при целочисленных операциях
От: Sm0ke Россия ksi
Дата: 14.08.22 14:43
Оценка:
Есть два целых числа типа std::intmax_t
Необходимо произвести над ними одну из следующих операций: сложение, вычитание, умножение.
Но при переполнении результата преобразовать числа в double перед операцией и вернуть double.
А если переполнения нет, то вернуть целый результат.

Можно конечно сделать double операцию, и сравнить результат с диапазоном min() max() целого. Если всё ок, то произвести целочисленную операцию.

Какие есть ещё варианты?
overflow cpp int float
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.