| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 813 人关注过本帖
标题:[求助]大数字相加问题?
只看楼主 加入收藏
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
收藏
 问题点数:0 回复次数:5 
[求助]大数字相加问题?

为了满足比较在的数学相加,我用一个数组来保存每一个无数,代码如下:

#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
using namespace std;
#define M 500

void main()
{
ifstream in("Text.txt");
if(in.fail())
{
cerr<<"Error to open file!"<<endl;
exit(1);
}
char ch[M];
in.getline(ch,M);
char ch2[M];
in.getline(ch2,M);
char ch3[M];
memset(ch3,0,M);
int m,n;
m=strlen(ch)-1;
n=strlen(ch2)-1;
for(int i=0;i<=m;i++)
ch3[i]=ch[i];
while(m>=0&&n>=0)
itoa((atoi(&ch[m])+atoi(&ch2[n--])),&ch3[m--],10);
cout<<ch<<endl<<ch2<<endl<<ch3<<endl;
system("Pause");
}


问题是:它自动的完成相加的功能,但我是用一个字符数组来存储每一个数字的,我就不太明白了,为什么它就能满足懑十就自动进位的效果,比如我的数字是:
500000000000000000000000123456
2654
结果为:500000000000000000000000126110
这怎么解释啊?
我以为的输入结果应为:
50000000000000000000005101010
搜索更多相关主题的帖子: 数字 相加 
2007-06-05 22:20
起风的时候
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-1-16
收藏
得分:0 
要记住,字符串的每个字符在内存中都是连续的,
itoa((atoi(&ch[m])+atoi(&ch2[n--])),&ch3[m--],10);
那么你这句话中&ch[m]相当于是ch这个字符串中m位置后面的所有字符,你现在知道它为什么会进位了吧?
呵呵,重大的哦,一个学校呢。。

2007-06-05 22:31
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
重大的真多,偶也是!
几年级的哦?

Fight  to win  or  die...
2007-06-05 23:16
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 
泡学妹来了。。。

论坛是我家灌水靠大家
2007-06-05 23:41
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
有女的吗?怎么我看着都是男的?

Fight  to win  or  die...
2007-06-06 10:33
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
收藏
得分:0 
以下是引用起风的时候在2007-6-5 22:31:21的发言:
要记住,字符串的每个字符在内存中都是连续的,
itoa((atoi(&ch[m])+atoi(&ch2[n--])),&ch3[m--],10);
那么你这句话中&ch[m]相当于是ch这个字符串中m位置后面的所有字符,你现在知道它为什么会进位了吧?
呵呵,重大的哦,一个学校呢。。

明白了,谢谢了


2007-06-06 11:31
快速回复:[求助]大数字相加问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020193 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved