c语言中怎么存储一个很大很大的数

 我来答
帐号已注销
高粉答主

2020-02-10 · 说的都是干货,快来关注
知道小有建树答主
回答量:263
采纳率:95%
帮助的人:11.4万
展开全部

C语言的系统类型,均有大小的限制。超出这个存储范围,就无法用该类型进行存储。所以需要根据数据规模,来选择存储类型。

当需要存储的数很大很大,超出所有可以类型可以表示的范围时,比如一个100位的10进制数,就需要用字符串的方式进行存储。这种存储方式,在算法中称为大数存储,对这种大数的计算,称为大数计算。

扩展资料:

顺序结构:

顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子里面的水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c;执行结果是a = 5,b = c = 3如果改变其顺序。

写成:a = b; c = a; b =c;则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算、输出三步曲的程序就是顺序结构。

例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。

参考资料来源:百度百科-c语言



风若远去何人留
推荐于2017-09-04 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部

C语言的系统类型,均有大小的限制。超出这个存储范围,就无法用该类型进行存储。

所以需要根据数据规模,来选择存储类型。

当需要存储的数很大很大,超出所有可以类型可以表示的范围时,比如一个100位的10进制数,就需要用字符串的方式进行存储。这种存储方式,在算法中称为大数存储,对这种大数的计算,称为大数计算。

以下是一个输入最多不超过1000位的10进制数,并将其输出的代码:

#include <stdio.h>
int main()
{
    char s[1001];
    scanf("%s",s);//输入数据
    printf("%s\n",s);//输出读取到的大数。
    
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liwenwei9909
2011-07-31 · TA获得超过756个赞
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:148万
展开全部
如果不要求精度,可以直接用浮点型,精度不高而已。
如果要求精度高(比如存储较大的指数,不允许截断误差存在),或者是已经超过了浮点型数据允许的最大值,可用多个字节来存储,每个字节存储其中一部分位段。可根据你的需要来设定所需字节数。
比如,计算7的34次方的精确值,就需要至少4个整形来存储(32位处理器,一个整形数据占用4个字节),即16个字节。
具体可参见《计算机代数》教科书。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杨剑109
2011-07-31 · 杨剑109的文库,分享自己的文档。
杨剑109
采纳数:280 获赞数:702

向TA提问 私信TA
展开全部
用分割法,将它看成是一几位的数然后分割求解。在模板库中有这样一个函数,采取的是在这基础上用递归方法加以解决。具体的可以自己百度一下,我暂时给忘了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iFayne
2015-11-04
知道答主
回答量:15
采纳率:0%
帮助的人:9.3万
展开全部
  1. 储存大数时需要借助字符数组储存

  2. 如存储11111111111这个数字,可以用

    char num[] = "11111111111";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式