下载链接:百度网盘链接 1:提取码: hm77
链接 2
1、开发版 dll:
md5: 8567CC03EB71814DE99A85619C8A5A08
sha2-256: 731AC9DC7F494B0F528C31D23CCB4F6EBE9C49DD51F5161E21DBCAB09EE1A401
lib:
md5: 0CD20D7A9AFCBB2884FE263251BB52E4
2、debug 版 dll:
md5: 8B8A40AD57118D019AE7B76D75547D1C
sha2-256: 29070B345860B6D3790A853B6E8965EAD50046E1976DD2912B0075DCF25D2263
lib:
md5: 69438DF1AB1E177DA7A1FF60692CE021
- 支持平台:win10 x64,其他未测试,但必须是 64 位操作系统
- 常见注意:debug 版 dll 应应用于 debug 版 测试程序,开发版 dll 应应用于 release 版 测试 程序,程序才能正确运行。
- 使用要求:
- 1、大整数:{{0,9,5,2,7,4,0,2},10} ,表示:10 进制:+9527402,第一个数字表示 正(0) 或 负(1),最后一个数字表示 多少进制,支持 任意进制 (进制数 大于等于 2);
- 2、大整数 0 为:{{0,0},?},而不是 {{1,0},?},使用时 '?' 用具体进制数替换;
- 3、取余(%)运算符:模数是任何时候都大于 0 的大整数;
- 4、除法(/)运算符:被除数 / 除数 == 商 ,此商为向 0 取整的(正或负的)大整数;
- 除法举例如:-227/92==-2 、227/92==2
- 等价于 python 代码: int(-227/92)==-2 、int(227/92)==2
- 应用举例:
test.cpp
#include<vector>
using namespace std;
#include "bigNumDll.h"
int main()
{
// 10 进制,arr1=9527402,arr2=-227,arr3=92,arr4=-4256 以此类推
bigNumber arr1 = { {0,9,5,2,7,4,0,2} ,10 },
arr2 = { {1,2,2,7},10 }, arr3 = { {0,9,2},10 },
arr4 = { {1,4,2,5,6} ,10 }, arr5 = { {1,9,5,7},10 },
arr6 = { {0,9,2,0,6} ,10 }, arr8 = { {0,1,5,3} ,10 }, arr7 = { {0,0},10 };
bigNumber arr(10);
// 1000 进制
//bigNumber arr1 = { {0,999,587,267,237,784,10,2},1000 },
// arr2 = { {1,222,562,957} ,1000 }, arr3 = { {0,899,82},1000 },
// arr4 = { {1,478,212,675,96},1000 }, arr5 = { {1,998,5,709} ,1000 },
// arr6 = { {0,990,212,20,36} ,1000 }, arr8 = { {0,981,85,3},1000 }, arr7 = { {0,0},1000 };
//bigNumber arr(1000);
// 10**9 进制,默认进制,所以 与上面的 有所不同
//bigNumber arr1{ {0,98765432,12345678} },
// arr2 = { {1,12312345} }, arr3 = { {0,87687634,234567} },
// arr4 = { {1,89898989} }, arr5 = { {1,45645612} },
// arr6 = { {0,98984556} }, arr7 = { {0,0} }, arr8 = { {0,45629831} };
//bigNumber arr;
// 混合加、减、乘、除、取余
//arr = arr1 * (arr7 - arr2 - arr3) / (arr6 - arr4) + arr5 * arr5 * arr4 % arr3 - arr1 % arr6;
//arr = arr1 / arr8 * (arr2 - arr3) * (arr6 - arr4) - arr1 % arr6 + arr6 % arr3;
//arr = arr1 * arr2 + arr3 % (arr7 - arr4) - arr5 / (arr8 - arr6) / arr3 * arr2;
//arr = arr1 / (arr3 - arr2) % (arr7 - arr4) * arr6 + arr8;
arr = arr1 + arr2 - arr3 * arr4 / arr5 % arr6;
arr.getvalue();
}
- 应用例子下载:见 上述 百度网盘链接 1 中 test release 和 test debug。
以上 dll 文件是经过测试合格的,但有可能有微小的错误,另外本文章可能有叙述不全的地方,欢迎评论提问、指正,帮助我更改错误,共同进步,万分感谢
网友评论