1.高精度运算
在C++中,int类型的取值范围是-2.1×10^9~2.1×10^9;unsigned int类型的取值范围是0~4.2×10^18;long long类型的取值范围是-9.2×10^18~9.2×10^18。对超出C++内置整数类型表示范围的大整数进行运算,比如几十位、几百位甚至几千位的整数加减乘除。
因为 int、long long 存不下,所以用数组按位存储,模拟人工列竖式计算。因此,高精度运算不是指“高精度小数”,而是指大整数运算。
2.大整数的保存
2.1 保存大整数的数据类型
在“1.高精度运算”中提到,可以用数组按位存储的方式保存大整数。这里的数组指的是C++中的普通的数组类型,也可以是vector。
2.2 保存大整数的方式
保存大整数的方式有两种,一种是正序,对于整数12