
? Bekerja sedang berlangsung?
Unduh file header tunggal-termasuk ke lokasi di bawah jalur sertakan Anda. Kemudian #include dalam kode Anda:
# include " BigInt.hpp " // the actual path may vary Buat objek kelas BigInt , dan lakukan apa yang harus Anda lakukan!
BigInt big1 = 1234567890 , big2;
big2 = " 9876543210123456789098765432101234567890 " ;
std::cout << big1 * big2 * 123456 << " n " ;
// Output: 1505331490682966620443288524512589666204282352096057600 = Operan kedua bisa berupa BigInt , integer (hingga long long ) atau string ( std::string atau string literal).
big1 = 1234567890 ;
big1 = " 123456789012345678901234567890 " ;
big1 = big2;+ , - big1 = +big2; // doesn't return the absolute value
big1 = -big2;+ , - , * , / , % Salah satu operan harus BigInt dan yang lainnya bisa menjadi BigInt , bilangan bulat (hingga long long ) atau string ( std::string atau string literal).
big1 = big2 + 1234567890 ;
big1 = big2 - " 123456789012345678901234567890 " ;
big1 = big2 * big3;
big1 = 1234567890 / big2;
big1 = " 123456789012345678901234567890 " % big2;+= , -= , *= , /= , %= Operan kedua bisa berupa BigInt , integer (hingga long long ) atau string ( std::string atau string literal).
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 < , > , <= , >= , == ,! != Salah satu operan harus BigInt dan yang lainnya bisa menjadi BigInt , bilangan bulat (hingga long long ) atau string ( std::string atau string literal).
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 Konversi BigInt ke string , int , long , atau long long .
Catatan : Jika BigInt berada di luar jangkauan jenis target, pengecualian out_of_range dilemparkan.
some_str = big1.to_string();
some_int = big1.to_int();
some_long = big1.to_long();
some_long_long = big1.to_long_long();abs Dapatkan nilai absolut dari BigInt .
big1 = abs(big2);big_pow10 Dapatkan BigInt setara dengan 10 exp .
big1 = big_pow10( 5000 ); // big1 = 10^5000 gcd Dapatkan Divisor Umum Terbaik (GCD alias. HCF) dari dua BigInt . Salah satu argumen dapat berupa bilangan bulat (hingga long long ) atau string ( std::string atau string literal).
big1 = gcd(big2, big3);
big1 = gcd(big2, 1234567890 );
big1 = gcd(big2, " 123456789012345678901234567890 " );
big1 = gcd( 1234567890 , big2);
big1 = gcd( " 123456789012345678901234567890 " , big2);lcm Dapatkan ganda yang paling umum (LCM) dari dua BigInt . Salah satu argumen dapat berupa bilangan bulat (hingga long long ) atau string ( std::string atau string literal).
big1 = lcm(big2, big3);
big1 = lcm(big2, 1234567890 );
big1 = lcm(big2, " 123456789012345678901234567890 " );
big1 = lcm( 1234567890 , big2);
big1 = lcm( " 123456789012345678901234567890 " , big2);pow Dapatkan nilai basis exp sebagai BigInt . Basis dapat berupa BigInt , integer (hingga long long ) atau string ( std::string atau string literal).
big1 = pow(big2, 789 );
big1 = pow( 987654321LL , 456 ); // suffix literal with LL to prevent conflicts
big1 = pow( " 1234567890 " , 123 );sqrt Dapatkan akar bilangan bulat BigInt .
big1 = sqrt(big2);big_random Dapatkan BigInt acak, yang memiliki jumlah digit acak (hingga 1000), atau jumlah digit tertentu.
// 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 );Karena proyek ini dibangun sebagai perpustakaan header saja, tidak ada file sumber. Namun, ada tes unit untuk setiap file header yang dibagi menjadi proyek. Ini dapat dikompilasi dan dibangun baik melalui baris perintah, atau menggunakan IDE yang memiliki dukungan langsung untuk CMake (seperti Clion, QT Creator) atau yang dapat menghasilkan file proyek (Visual Studio, Eclipse CDT, Code :: Blocks dan banyak lagi).
Di Linux dan MacOS, Anda dapat mengkompilasi dan menjalankan tes menggunakan baris perintah dari direktori root proyek.
make .make test .make release . File yang dihasilkan akan muncul di folder release .Settings > Build > CMake , atur Generation path untuk build .Kemudian Anda cukup memilih target (tes unit) mana yang ingin Anda bangun/jalankan, dan IDE Anda akan melakukan sisanya.
Jika IDE Anda tidak mendukung CMake secara langsung, Anda harus menjalankan cmake melalui baris perintah dengan bendera yang sesuai untuk menghasilkan file proyek untuk IDE Anda. Cobalah, itu tidak seharusnya sulit!
Harap baca pedoman yang berkontribusi untuk perincian tentang cara berkontribusi pada proyek.
Proyek ini dilisensikan berdasarkan ketentuan lisensi MIT.