高精度算法
高精度算法 什么是高精度算法? 在我们的计算中,我们可能有长达几百位或者更多的数字进行加减乘除运算,我们在这里把这些整数称为高精度数,高精度算法就是用计算机对这些超大数据进行模拟加减乘除等运算。 高精度算法有什么用? 我们学完c后发现,int表示的数据范围是-2^31 ~ 2^32-1也就是[-2147483648,2147483657]这也就10位数字,我们最长的 long long int 也不过19位数字远远达不到几百位甚至更多的要求,这里如果要对这些数进行加减乘除等运算就需要用到高精度算法。 在这里,我简单介绍一下加法、减法和乘法: 我们知道,要进行高精度的运算的数字就很大,用long long 都可能存不下去,所以,我们想到了用字符存储的方法,就是把每一位数字都看做是一个字符,存储到字符串之中,然后我们通过“ 字符 – 48 = 数字 ”的这个ASCII码规律把每一位数字存入数组的每一位之中,我们就可以模拟运算了。 代码是这样的: char a [ 1001 ] , b [ 1001 ] ; int c [ 101 ] , d [ 101 ] ; cin >> a >> b ; int len1 = strlen ( a ) ; int len2 = strlen ( b ) ; for ( int i = 0 ; i < len1 ; i ++ ) c [ i ] =