Поймать и вычислить переполнение при умножении двух больших целых чисел

Я ищу эффективное (необязательно стандартное, элегантное и простое в реализации) решение для умножения относительно больших чисел и сохранения результата в одно или несколько целых чисел:

Допустим, у меня есть два 64-битных целых числа, объявленных так:

uint64_t a = xxx, b = yyy; 

Когда я делаюa * bКак я могу обнаружить, если операция приводит к переполнению и в этом случае сохранить перенос где-нибудь?

Обратите внимание, чтоЯ не хочу использовать библиотеку с большими числами так как у меня есть ограничения на способ хранения номеров.

Ответы на вопрос(9)

Ваш ответ на вопрос