Как оперировать с числами, которые выше максимально возможных?

Доброго дня!
Например, Microsoft создали для своей Windows калькулятор, который еще в 90х мог складывать, умножать и делить огромные числа, значительно выше maxlongint. Сейчас он, само собой, тоже так умеет. Возможно, на сегодняшний день предел допустимого числа вырос (особенно на 64 системах), но в 90х этот предел был очень явным.

Как Microsoft смогли такое реализовать, ведь у процессоров в плане обработки чисел имеются (имелись) серьезные ограничения? Насколько я слышал, исходники калькулятора до сих пор закрыты.
  • Вопрос задан
  • 390 просмотров
Решения вопроса 2
@Alexander1705
Длинная арифметика.
Если кратко: храните число в виде массива, где каждый элемент - это разряд числа и обрабатываете все операции вручную.
Ответ написан
Комментировать
LeEnot
@LeEnot
Енот-андроид
Ничего необычного - просто храните число, как массив, а все операции проводите по алгоритмам типа такого
Да, это медленно, зато достигается любая требуемая точность вычислений.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
petermzg
@petermzg
Самый лучший программист
В школе всех учат складыват, делить и умножать в "столбик". У этого метода нет ограничений по разрядности.
Ответ написан
@evgeniy_lm
У процессора в плане обработки чисел только одно ограничение - время расчета. Например, RSA алгоритм использует 500-1000 битные простые числа.
Вы, вообще, представляете себе что такое 500 битное число?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы