/biguint

Big unsigned integers (128, 256, 384 and 512 bits)

Primary LanguageCGNU General Public License v3.0GPL-3.0

Big Unsigned Integers

GitHub C/C++ CI Codacy Badge codecov

C library providing fixed length unsigned integer types longer than 64 bits.

Features

Currently libbiguint provides the following types:

  • BigUInt128 (128 bits)
  • BigUInt256 (256 bits)
  • BigUInt384 (384 bits)
  • BigUInt512 (512 bits)

All the provided types are accompanied by the following functions:

  • addition and substraction (add, sub);
  • multiplication and division (mul, div/mod);
  • bit shift operations (shl, shr);
  • bitwise operations (and, or, xor, not);
  • comparison (lt, eq);
  • parsing and printing (from/to hex and dec strings);
  • default and standard constructors (initializer functions).

The source code of type BigUInt128 is written in general manner. The source of all other biguint types are generated codes derived from BigUInt128.

Examples

Check out directory examples.