C/C++基本类型做算术运算时长度有限,但也基本满足大部分场景的使用,有时需要计算大长度数据就有点无能为力了,比如1000的阶乘结果就有2000多位,用基本类型是无法计算的。
高精度的算法,一般的方式是用一个很长的数组去记录数据,数组的每一位记录固定位数的数字,记录顺序是低位到高位。计算方式则通常采用模拟立竖式计算。计算方式有一些优化方法,比如FFT快速傅里叶变换优化乘法,牛顿迭代优化除法。
本资源采用的,是上述的一般方式,用数组从低到高位记录数据,计算方式采用模拟立竖式计算。
本资源用C++封装了一个高精度整型,完整重载了+-*/%==>><<等操作符, 可以直接当整型使用于工程项目,包含了功能测试和性能测试程序,在vs 2019、及ubuntu gcc 均能编译运行。