什么是高精度算法?它是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数。但近几年的CSPJ/S复赛貌似从未单独考过高精度算法,但有时会和其他算法一起考。所以还是有学习的必要。
一、高精度计算
高精度计算是指参与运算的数的范围大大超出了标准数据类型能表示的范围的运算。如100位数字和100位数字的加减乘除运算。为处理高精度计算,我们使用数字数组来表示高精度数字。
二、数字数组
数字数组:第0位置保存数字位数,而后从低位到高位保存各位数字,每个数组元素保存一位数字。
下标 | 0 |
1 |
2 |
3 |
4 |
5 |
... |
含义 |
位数 |
个位 |
十位 |
百位 |
千位 |
万位 |
... |
例:数字12345用数字数组表示为 |
|||||||
下标 |