Skip to content

Latest commit

 

History

History
33 lines (28 loc) · 2.42 KB

README.md

File metadata and controls

33 lines (28 loc) · 2.42 KB

Open in Visual Studio Code

BigInteger

Реализуйте класс для представления длинных целых чисел (знаковых).

Требования к реализации

  • Название класса: BigInteger
  • Заголовочный файл: biginteger.h
  • Файл реализации: biginteger.cpp

Для класса BigInteger реализовать:

  • Конструктор по умолчанию (инициализирует число нулём).
  • Конструкторы от числовых типов.
  • Явный конструктор от std::string.
  • Конструктор копирования.
  • Конструктор перемещения.
  • Операторы:
    • присваивания копированием,
    • присваивания перемещением,
    • сравнения.
  • Операции:
    • арифметические операции: сложение, вычитание, умножение, деление, унарный минус, унарный плюс, инкременты и декременты.
    • битовые операции: и, или, исключающее или, не, битовые сдвиги.
  • Внешнюю функцию std::string to_string(BigInteger const&).

Требования:

  • Разряды числа должны представляться как минимум 32-битными числами, все биты в их представлении должны использоваться.
  • Пользоваться сторонними библиотеками при выполнении задания запрещено (исключение std::string при реализации to_string, std::numeric_limits).

Дополнительная литература