怎样用C语言做超大整数的加减运算?

2024-12-14 10:27:04
推荐回答(5个)
回答1:

用高精度算法来实现,即用数组或指针来储存数字,例如A〔20〕来储存a ,用B〔20〕来储存b,这样a 和b就可以是很大的数,再用一个C〔21〕来储存结果,为什么C要21呢,你知道,加法是要近位的,呵呵。这里给出相加的伪代码,d =0/*用来存储近位*/,for i=0到19{c=A〔i〕+B〔i〕+d ,d =c/10,c=c%10,C〔i〕=c}if d 不等于0 C〔i+1〕=d ,再逆的输出C就可以了!编程要学会思考,现在你可以试试编下高精度乘法,例如可以输出100的阶乘!

回答2:

  可以用数组制作。
  都知道int,float,double的精度和可使用的范围都是有限的,对于大数相减,总是会产生溢出的情况。
  所以对于大数相减,认为可以用数组来做。比如,定义一个数组a[100];a[1]用来保存个位数,a[2]用来保存十位数,等等。
  如果a[i]的值大于或等于10,就让a[i+1]++,a[i]-10就行了。
  在打印的时候就用一个for语句,再调一下输出格式就可以了。

回答3:

可以用两个整数来表示一个整数,一个高位,一个低位

回答4:

用整型数组来模拟数据存储,即每个数组元素来存放每个整数的一位,你可以到百度搜索一下“大数处理”应该可以搜索到很多相关的算法~~

回答5:

用字符数组~