这里使用最简单的方式处理高精度计算问题:使用数组保存高精度数的每一位,模仿四则运算竖式规则依次操作每一位,完成高精度计算。
1 高精度加法:模仿加法,对应的每一位相加,可以分别处理每一次产生的进位也可以最后集中处理。很简单,你懂得。
2 高精度乘法:模仿乘法,因数1的第i位与因数2的第j位相乘的结果加到积的第i+j位上。最后集中处理进位问题。
3 高精度除法:模仿除法,其实是做减法。除法的每次商是几,我们是凭观察看出来的。计算机"观察“不出来,只能一次一次的减,每减一次,商的对应位就增一。我们做商是从高位做到低位直到个位时结束。其实是将除数扩大到与被除数同一个数量级上去除(也就是去减)。模仿这个小学时学会的计算方法,我们就可以教会计算机做除法了。下面是除法的代码。
ps:
1 memset()函数将一片连续的内存区域填充为某一指定内容,wmemset()函数可以设置宽字符。原型如下
void *memset(void *dest, int c, size_t count);
wchar_t *wmemset( wchar_t *dest, wchar_t c, size_t count);
dest :Pointer to destination.
c :Character to set.
count :Number of characters.
2 strlen()自然是获取字符串长度了。