
? Работа в процессе?
Загрузите файл заголовка с одним включением в местоположение под вашим путем. Затем #include это в вашем коде:
# include " BigInt.hpp " // the actual path may vary Создайте объекты класса BigInt и делайте то, что вы должны делать!
BigInt big1 = 1234567890 , big2;
big2 = " 9876543210123456789098765432101234567890 " ;
std::cout << big1 * big2 * 123456 << " n " ;
// Output: 1505331490682966620443288524512589666204282352096057600 = Второй операнд может быть либо BigInt , целым числом (до long long ), либо строкой ( std::string или буквальная строка).
big1 = 1234567890 ;
big1 = " 123456789012345678901234567890 " ;
big1 = big2;+ , - big1 = +big2; // doesn't return the absolute value
big1 = -big2;+ , - , * , / , % Одним из операндов должен быть BigInt , а другой может быть BigInt , целым числом (до long long ) или строки ( std::string или струнный буквальный).
big1 = big2 + 1234567890 ;
big1 = big2 - " 123456789012345678901234567890 " ;
big1 = big2 * big3;
big1 = 1234567890 / big2;
big1 = " 123456789012345678901234567890 " % big2;+= , -= , *= , /= , %= Второй операнд может быть либо BigInt , целым числом (до long long ), либо строкой ( std::string или буквальная строка).
big1 += big2;
big1 -= 1234567890 ;
big1 *= " 123456789012345678901234567890 " ;
big1 /= big2;
big1 %= 1234567890 ;++ , -- big1 = ++big2; // pre-increment
big1 = --big2; // pre-decrement
big1 = big2++; // post-increment
big1 = big2--; // post-decrement < , > , <= , >= , == ,! != Одним из операндов должен быть BigInt , а другой может быть BigInt , целым числом (до long long ) или строки ( std::string или струнный буквальный).
if (big1 < 1234567890
or big1 > " 123456789012345678901234567890 "
or big1 <= big2
or 1234567890 >= big1
or " 123456789012345678901234567890 " == big1
or big1 != big3) {
...
}<< , >> std::cout << big1 << " , " << big2 << " n " ;
output_file << big1 << " , " << big2 << " n " ;
std::cin >> big1 >> big2;
input_file >> big1 >> big2;to_string , to_int , to_long , to_long_long Преобразовать BigInt в string , int , long или long long .
ПРИМЕЧАНИЕ . Если BigInt находится за пределами диапазона целевого типа, исключение Out_of_range брошено.
some_str = big1.to_string();
some_int = big1.to_int();
some_long = big1.to_long();
some_long_long = big1.to_long_long();abs Получите абсолютную ценность BigInt .
big1 = abs(big2);big_pow10 Получите BigInt , равный 10 Exp .
big1 = big_pow10( 5000 ); // big1 = 10^5000 gcd Получите наибольший общий делитель (GCD, он же HCF) двух BigInt s. Одним из аргументов может быть целое число (до long long ) или строку ( std::string или буквальная строка).
big1 = gcd(big2, big3);
big1 = gcd(big2, 1234567890 );
big1 = gcd(big2, " 123456789012345678901234567890 " );
big1 = gcd( 1234567890 , big2);
big1 = gcd( " 123456789012345678901234567890 " , big2);lcm Получить наименьшее распространенное множественное (LCM) двух BigInt S. Одним из аргументов может быть целое число (до long long ) или строку ( std::string или буквальная строка).
big1 = lcm(big2, big3);
big1 = lcm(big2, 1234567890 );
big1 = lcm(big2, " 123456789012345678901234567890 " );
big1 = lcm( 1234567890 , big2);
big1 = lcm( " 123456789012345678901234567890 " , big2);pow Получите ценность базового опыта как BigInt . Базой может быть либо BigInt , целое число (до long long ) или строку ( std::string или буквальная строка).
big1 = pow(big2, 789 );
big1 = pow( 987654321LL , 456 ); // suffix literal with LL to prevent conflicts
big1 = pow( " 1234567890 " , 123 );sqrt Получите целый ровный корень из BigInt .
big1 = sqrt(big2);big_random Получите случайный BigInt , который имеет случайное количество цифр (до 1000), либо определенное количество цифр.
// get a random BigInt that has a random number of digits (up to 1000):
big1 = big_random();
// get a random BigInt that has 12345 digits:
big1 = big_random( 12345 );Поскольку этот проект построен как библиотека только для заголовков, исходных файлов нет. Тем не менее, существуют модульные тесты для каждого файла заголовка, на который разделен проект. Они могут быть скомпилированы и созданы либо через командную строку, либо с использованием IDE, которая имеет прямую поддержку Cmake (например, Clion, Cretor), или для которого Cmake может генерировать файлы проекта (Visual Studio, Eclipse CDT, код :: блоки и многое другое).
На Linux и MacOS вы можете скомпилировать и запустить тесты, используя командную строку из корневого каталога проекта.
make .make test .make release . Сгенерированный файл появится в папке release .Settings > Build > CMake , build Generation path .Затем вы можете просто выбрать, какую цель (модульный тест) вы хотите создать/запустить, а ваш IDE сделает все остальное.
В случае, если ваш IDE не поддерживает Cmake напрямую, вам нужно будет запустить cmake через командную строку с соответствующими флагами для генерации файлов проекта для вашей IDE. Попробуйте, это не должно быть сложно!
Пожалуйста, прочитайте рекомендации по внесению подробностей о том, как внести свой вклад в проект.
Этот проект лицензирован в соответствии с условиями лицензии MIT.