Короткий теоретичний матеріал з арифметики довгих чисел, cmc @ msu

структури даних

Залежно від прикладних задач, для вистави «довгих» чисел використовуються або статичні вектори (масиви), або динамічні структури (списки).

Алгоритми обчислення арифметичних операцій

Щоб реалізувати базові арифметичні операції +, -. x, / над «довгими» числами, слід спиратися на стандартні методи обчислення складання / віднімання / множення «в стовпчик» і ділення «куточком». При цьому знадобляться допоміжні підпрограми:
  • обнулення "довгого" числа (: = 0)
  • присвоювання «довгих» чисел один одному (: =)
  • обмін значень «довгих» чисел (swap)
  • визначення кількості розрядів «довгого» числа (length)
  • порівняння «довгих» чисел (. <> )
  • взяття абсолютного значення «довгого» числа (abs)
  • зміна знака «довгого» числа (inv)
  • зрушення «довгого» числа на n розрядів вправо (shiftr)
  • зрушення «довгого» числа на n розрядів вліво (shiftl)

Пронумеруємо розряди «довгих» чисел, наприклад, ai або bi. і покладемо M рівним основи системи числення.

Алгоритм «довгого» складання заснований на методі складання в «стовпчик». При цьому циклічно, починаючи з молодших розрядів, проводиться складання з переносом.

Перевірка роботи алгоритму складання

Введіть невід'ємні цілі аргументи a і b.

Схожі статті