Как я могу обработать арифметические переполнения?

я пытаюсь выяснить, как справиться с переполнением для сложения, вычитания, умножения и деления для двух очень больших целых чисел. Любая обратная связь / вклад будет оценен. Кто-нибудь знает какие-либо алгоритмы для этого и / или источники, которые я мог бы проконсультироваться?

(Я провел исследование перед публикацией и просто не уверен, как справиться с этим и)

РЕДАКТИРОВАТЬ: для двух очень больших целых чисел

2

Решение

Другие решения

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

Тем не менее, это то, что я думаю, вы хотите:
http://gmplib.org/

Он обрабатывает целые и рациональные числа произвольного размера.

0

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

пример

1234567890 можно сохранить как -> 12,34,56,78,90
Для умножения каждая единица будет умножена и перенесена в следующую единицу -> 1,23,45,67,89,0

Имейте в виду, однако, что его легче разделить на однозначные единицы, например, 1,2,3,4,5, а не 1,23,45, поскольку это упрощает операции.

РЕДАКТИРОВАТЬ :: Слово «дескриптор» не то слово, которое вы должны использовать

0
По вопросам рекламы [email protected]