{"id":31729845,"url":"https://github.com/ron4fun/bigintegercpp","last_synced_at":"2025-10-09T07:18:11.580Z","repository":{"id":144178418,"uuid":"131059200","full_name":"ron4fun/BigIntegerCPP","owner":"ron4fun","description":"A C++11 large integer library with effective high performance, simplistic in nature and also clean in the eyes.","archived":false,"fork":false,"pushed_at":"2019-06-04T05:35:24.000Z","size":54,"stargazers_count":34,"open_issues_count":0,"forks_count":10,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-07-23T04:37:03.706Z","etag":null,"topics":["absolute-value","biginteger","clear-bit","cplusplus","cpp","flip-bit","gcd","math","modular-exponentiation","modular-inverse","negate","pcg-random","prime-numbers","rabin-miller","set-bit","square","test-bit"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ron4fun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"Security/Random.cpp","support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-04-25T20:21:37.000Z","updated_at":"2024-06-12T17:15:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"f4d4b941-2e45-49b0-b96b-f222d53d48e3","html_url":"https://github.com/ron4fun/BigIntegerCPP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ron4fun/BigIntegerCPP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ron4fun%2FBigIntegerCPP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ron4fun%2FBigIntegerCPP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ron4fun%2FBigIntegerCPP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ron4fun%2FBigIntegerCPP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ron4fun","download_url":"https://codeload.github.com/ron4fun/BigIntegerCPP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ron4fun%2FBigIntegerCPP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000985,"owners_count":26082972,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["absolute-value","biginteger","clear-bit","cplusplus","cpp","flip-bit","gcd","math","modular-exponentiation","modular-inverse","negate","pcg-random","prime-numbers","rabin-miller","set-bit","square","test-bit"],"created_at":"2025-10-09T07:18:10.630Z","updated_at":"2025-10-09T07:18:11.571Z","avatar_url":"https://github.com/ron4fun.png","language":"C++","readme":"BigIntegerCPP\n====\n\n **`BigIntegerCPP`** is a C++11 port of large integer library used in [CryptoLib4Pascal](https://github.com/xor-el/CryptoLib4Pascal). It allows \nmostly parsing of numbers as strings in different bases (2, 8, 10 \u0026 16) and converting them back to string, also in different base as stated above. The advantages of this library is its simplistic nature and cleanliness of code.\n  \n\nCode Example\n------------\n\nHere is a sample of code which uses `BigIntergerCPP` to calc 2^20.\n    \n```c++\n#include \u003ciostream\u003e\n#include \"Base/BigInteger.h\"\n\nusing namespae std;\n\nint main()\n{\n    BigInteger::Boot();\n    \n    BigInteger two(\"2\");\n    BigInteger result = two.Pow(20);\n    cout \u003c\u003c result.ToString(2) \u003c\u003c endl; // output string in Base 2\n\n    return 0;\n} // end main\n```\n\nNote:\n**Some other functions you might like**\n\n  \t\n\t  RabinMillerTest\n\t  IsProbablePrime\n\t  ModInverse (Modular Inverse)\n\t  ModPow (Modular Exponentiation)\n\t  NextProbablePrime\n\t  Negate\n\t  TestBit\n\t  GetLowestSetBit\n\t  SetBit\n\t  ClearBit\n\t  FlipBit\n\t  GCD (Greatest Common Divisor (HCF)) \n      Square \n      AbsoluteValue (Get Absolute Value of a Negative BigInteger)\n      Random (PcgRandom)\n\n\n\n**Tested Enviroments:**\n     \n    Visual Studio 2015.\n\n\n**Unittests:**\n     \nYou can find all the unit tests in the Unittest folder. \nTo run the unit tests, you should have [boost library](http://www.boost.org/) installed in your workstation.\n\n\n**Special Note:**\n     \n   You may have noticed that this library needs to Boot firstly before you can begin to use it else it will crash. So, I wrote a wrapper around the BigInteger library called `BigIntegerWrapper` for those who feel they might forget to Boot the library before using it.\n\n### License\n\nThis \"Software\" is Licensed Under  **`MIT License (MIT)`** .\n    \n#### Tip Jar\n* :dollar: **Bitcoin**: `1Mcci95WffSJnV6PsYG7KD1af1gDfUvLe6`\n\nConclusion\n--------------------------------------------------\n\n   Special thanks to [Xor-el](https://github.com/xor-el) for making this library available in the first place.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fron4fun%2Fbigintegercpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fron4fun%2Fbigintegercpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fron4fun%2Fbigintegercpp/lists"}