高精度
引入
所谓高精度并不是很高级难懂的东西,只是对传统的加减法模拟实现
使用场景
高精度算法(High Accuracy Algorithm)的出现是为了处理超大数据的数学计算问题。在一般的科学计算中,我们可能会遇到需要计算小数点后几百位甚至更多的数字,或者处理几千亿、几百亿这样的大数字。这些数字超出了标准数据类型(如整型、实型)能够表示的范围,因此无法直接在计算机中正常存储和计算。
实现原理
在高精度算法中,我们并不会把数据用int,long long,double这种数据结构来存储,而是用数组来存储,接下来我就讲讲其原理
高精度加法
数据存储
先从简单的加减运算说起,我们拿 23 25这个例子来举例,根据小学所学知识,我们知道当我们计算时应该列出这样子的式子:
如果我们要进行加法,那么我们将从右加到左,一一进位
而我们的算法将这里的27处理为:A[2] = {7,2};25处理为:B[2] = {5,2};
他们的和仍然是一个数组:C[2] = {2, 5};
你可能好奇,为什么是倒着存?