文件名称:tiny-bignum-c:C语言中的小型便携式多精度无符号整数算法
文件大小:39KB
文件格式:ZIP
更新时间:2024-02-20 06:25:10
c bignum arbitrary-precision bignumber bignumbers
小小大号c C语言中的一个小的多精度整数实现 描述 C中的小型可移植,用于计算大数。 使用uint8_t , uint16_t或uint32_t数组作为基础数据类型,并利用每个字中的所有位。 数字基数为0x100、0x10000或0x100000000,具体取决于所选的字长-有关说明,请参见头文件 没有使用动态内存管理, stdio.h仅用于测试在十六进制字符串之间进行解析的功能。 当前状态 支持基本算术(+,-,*,/,%)和按位运算(&,|,^。<<,>>)以及递增,递减和比较。 设计目标 该库的主要设计目标是小巧,正确,自包含并使用很少的资源,同时保持可接受的性能和功能完整性。 代码的清晰度也受到高度重视。 显着特点和遗漏 小代码和二进制文件大小:〜500 SLOC,对于x86,约为3kb二进制文件。 静态#define的内存使用/分配。 不使用动态内存分配(即,不调用malloc / free )。 随机测试针对Python的大整合者进行了验证 最佳内存利用率,数字为1 + UINT {8,16,32} _MAX。 API 这是使用的数据结构,其中DTYPE被#de
【文件预览】:
tiny-bignum-c-master
----error_log.txt(72KB)
----bn.h(5KB)
----bn.c(14KB)
----.github()
--------workflows()
----tests()
--------rsa.c(10KB)
--------factorial.c(1KB)
--------golden.c(8KB)
--------randomized.c(2KB)
--------load_cmp.c(4KB)
--------test_div_algo.c(2KB)
--------hand_picked.c(2KB)
----LICENSE(1KB)
----Makefile(1KB)
----README.md(4KB)
----scripts()
--------test_old_errors.py(689B)
--------isqrt.py(430B)
--------test_rand.py(5KB)
--------div_mod.py(1KB)
--------fact100.py(78B)
--------rsa.py(4KB)
----build()
--------empty(1B)