简介
昨天,做了个题,发现正常写的话,只能通过50%的case.后来,仔细看了看题目,高精度这个关键词。然后发现可能与溢出有关。看了高精度的相关资料及大佬的博客内容,写了这篇文章。
高精度是编程中非常重要的一环,很多题目只要数据范围一大就需要高精度。
核心
由于当计算阶乘等时,很容易就会发生溢出,导致输出结果错误。如50!,其结果可达65位。所以用高精度算法更适合于处理这种问题。而高精度运算,就是将所求结果用数组存储起来,然后根据加法,减法,乘法,进行加减乘除,其中最重要的是:先运算,后考虑进位
一般化步骤:
1.初始化两个或三个数组,并置为0。
2.采用字符串的形式输入(注意数据类型的转换)
3.先进行按位运算,然后对每一位群的结果进行进位处理