大数相加?C++

来源:百度知道 编辑:UC知道 时间:2024/06/07 04:45:55
各位大牛,能不能给我一段完整的程序,两个大数相加,假设每个数最多为100位(10进制),把计算之后的结果显示,求赐教!

http://zhidao.baidu.com/question/85705390.html?si=1

以前我的C语言大作业就是实现的大数相加!
我是用数组实现的!其中注意的事项还是很多的:
1.小数点的位置
2.小数十分位给个位的进位
3.连续进位问题,如:91+9=100(先是个位的1和9相加,进一位,进位的1和十位的9相加,又进位)
4.输出的时候判断,使多出来的零不输出.
我没有源代码的,那个代码是很长的!你可以按照这个思路实现的,相信你!

我给你个思路好了。
用32位无符号整数,你可以一次加两个10^9的数。

你从低位开始把大数分割为很多小片段,每次一个加完小片段,获得一个进位0或者1. 在加下一个片段时把进位也加上。

循环直到最后。得到结果。
具体程序就不弄了。太麻烦。你可以自己试试。先写一个程序试试20位的数,看看结果是否正确。

用字符串啊,模拟你小学时学过的加法。
大数相乘也可以用一样的方法。
也只能用字符串了,因为C里本身也无法支持那么长的数。

数组来做,对位相加,超过10进位

http://zhidao.baidu.com/question/85705390.html?si=1