РУсскоязычный Архив Электронных СТатей периодических изданий
Инженерный журнал: наука и инновации/2013/№ 2/

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

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

Авторы
Тэги
Тематические рубрики
Предметные рубрики
В этом же номере:
Резюме по документу**
УДК 681.142.2 Скоростные свойства алгоритмов умножения и деления целых чисел произвольного размера 1 1 <...> Н.Э. Баумана, Москва, 105005, Россия Приведено описание подходов к оценке быстродействия алгоритмов реализации операций умножения и деления целых чисел произвольной размерности на основе подсчета количества операций, выполняемых в ходе их обработки. <...> В исключительных ситуациях, когда требуется оперировать числами большего размера, необходима реализация алгоритмических операций, выполняемых по специальным программам. <...> К таким операциям относятся умножение и деление целых чисел произвольного размера. <...> Для представления целых чисел произвольного размера используется модель, согласно которой каждая цифра целого числа располагается в отдельном байте, представляя все число как массив цифрбайтов <...> 2013 1 1 зуются функции ByteBits( ), ByteBitPrint( ), ByteBitMass( ) и InputAB( ) для преобразования обычного строкового вида вводимых чисел к байтовым массивам хранения и отображения этих чисел. <...> Для реализации умножения целых десятичных чисел в байтовом представлении ниже приведена программа MI01, в которой вычисляется произведение ca b= . <...> В подключаемом файле #include MultCarry.h находится функция MultCarry( ) для переноса цифр, возникающих в результате поразрядного умножения. <...> В подключаемом файле ByteBitMult.h находится сама функция умножения ByteBitMult( ), которую рассмотрим далее. <...> Перенос цифр заключается в том, чтобы оставить в разряде только биты, относящиеся к младшим цифрам из 2 ISSN 2305-5626. <...> Старшая цифра прибавляется к цифре следующего старшего разряда. <...> В интерфейсе функции параметр unsigned char* c является указателем байтового массива с числом, полученным после поразрядного умножения. <...> Параметр int nc содержит длину числа без знака. <...> Параметр int k задает индекс байта, с которого следует оценивать перенос. <...> Инициализация int j = k занимает одну операцию: W 1. <...> Умножение целых чисел произвольного размера в байтовом представлении проводится в приведенной ниже функции <...>
** - вычисляется автоматически, возможны погрешности

Похожие документы: