Сейчас я решаю некоторые проблемы с онлайн-судьей UVA и сталкиваюсь со сценариями, в которых мне нужно хранить очень большие целочисленные значения (иногда до 15 цифр). Есть ли способ сделать это без использования сторонних библиотек? [Что-нибудь похожее на BigInteger
класс в Яве?
Для Pow с целыми числами, http://en.wikipedia.org/wiki/Exponentiation_by_squaring
Я бы предложил GMP
Пожалуйста, обратитесь по этой ссылке: — C ++ обрабатывает очень большие целые числа
Необходимы сторонние библиотеки (если вы не хотите писать свою собственную библиотеку). GMP или MPIR — те, на которые можно пойти.
Нет, в стандартной библиотеке такой структуры нет. Но всегда вы можете проверить GMP, MPFR или подобное. Просто поиск в Google.
Вы можете использовать GNU libgmp для произвольной точности арифметики в C.
Самым простым в использовании будет Boost Multiprecision
http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/index.html
Вот простой пример
#include <boost/multiprecision/cpp_int.hpp>
using namespace boost::multiprecision;
int main(){
cpp_int a_really_big_number("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000");
a_really_big_number += 7;
}