Возможно, , этот может служить отправной точкой.Он реализует до 2048-разрядных целых чисел без знака, используя представление base-65,536.Это означает, что каждая цифра умещается в 16 бит, и мы можем тривиально обнаружить переполнение (даже при умножении), просто используя 32 бита для результатов.
Однако это код на C, но он должен быть тривиальным для переноса на C ++или просто использовать как вдохновение.Он очень оптимизирован для удобства чтения, а не для скорости, так как это не совсем то, что я умею делать.:)