Я работаю в c и, как сказано в названии, у меня есть struct
, который является узлом для двусвязного списка unsigned long longs
, которые представляют чрезвычайно большие числа.Разделение двух чрезвычайно больших чисел, представленных как связанный список беззнаковых длинных длин
Мне нужно выполнить базовую арифметику на них и достигло +
, -
, *
, но мне все еще нужно деление. Я видел ответы на арифметику на большие числа, представленные как связанные списки, но у моей проблемы есть другая часть, переполнение.
В настоящее время я пытаюсь использовать длинное разделение, и моя проблема заключается в том, что когда первая цифра (unsigned long long
) не делится равномерно, то есть остаток, который переносится на две цифры (два unsigned long long
). Я не знаю, как разделить большое количество, представленное как ull
s на ull
, сохраняя точность. Функция деления будет когда-либо вызываться только на двух числах, где вторая делит первое равномерно.
Не знаете, какую другую информацию мне нужно дать, но я застрял здесь, и любая интуиция поможет, спасибо.
Редактировать: Я приношу свои извинения за свою кажущуюся новизну в StackOverflow, но для тех, кто любопытно, каким образом я решил проблему, это обрабатывать числа как двоичные и выполнять разделение по частям. Это решение устраняет проблемы, которые у меня были.
Целое подразделение? Сделайте длинное разделение, пока вам не удастся получить что-то еще. –
1) C не C++ не C. 2) Редактировать строку 4704451311, хрустальный шар говорит, что есть все ваши проблемы. Если такой линии нет, вы можете прочитать [ask] и отправить сообщение [mcve]. – Olaf
Информация, которую вы должны предоставить, - это [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve), который показывает, что вы пробовали. –