This is an experimental big integer library.
- Windows
- Ubuntu (may work on other Linux or POSIX platforms)
- Arithmetic operations (+, -, *, / and %)
- Arithmetic assignment operations (+=, -=, *=, /=, %=)
- Bitwise operations (&, |, ^, <<, >>)
- Bitwise assignment operations (&=, |=, ^=, <<=, >>=)
- Unary operations (+, -, ~)
- Comparison (==, !=, >, >=, <, <=)
- Conversion from string
- Conversion to string
Unit tests are available. More test cases may be added in the future.
An example application, which is a simple command line calculator, is provided.
CMakeLists.txt files are provided. CMake is required to generate the project files or Make files.
- Only basic operations are supported.
- Thread safety is not provided.
- The internal implementations may not be optimized.
- Not suitable for embedded system applications due to dynamic memory allocations during runtime.
- The internal representation is std::vector<uint64_t>.
- The big integer is represented as a two's complement binary number.