На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

В Институте машиноведения УрО РАН, г. Екатеринбург, разработан класс cBigNumber для выполнения арифметических операций над числами неограниченной разрядности

15.04.2009

При разработке класса cBigNumber учитывались следующие основные требования:

 - корректное выполнение операций на реальных вычислительных устройствах, способных работать в нештатном режиме;

 - оптимальная производительность при проверке на простоту по вероятностному методу Миллера, где требуется выполнять операции с разрядностью от 32 до десятков тысяч бит, включая комбинированные операции над короткими и длинными числами;

 - переносимость класса между различными процессорами, операционными системами и трансляторами С++ с возможностью оптимизации под конкретную систему команд.

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

 Подробное описание дается в статье «Класс cBigNumber для целочисленной арифметики неограниченной разрядности в языке С++», автор – Шакиров Р.Н. (Институт машиноведения УрО РАН, г. Екатеринбург).