c语言 当一个数位数超过11位 怎么输入输出

[复制链接]
查看11 | 回复4 | 2017-10-2 03:40:41 | 显示全部楼层 |阅读模式
c语言中因数据的存储格式限制,不同类型的数据所能精确表示的数据(整数)位数是有限度的,如:int 占4字节,有符号最大数为:2^31-1 = 2147483647 有效数据位最大为10位。 输入输出格式串为%dlong 在64位编译系统下,占8字节,有符号最大数为:2^63-1=9223372036854775807
(受机器和开发工具限制) 有效数据位最大为19位。 输入输出格式串为%lddouble 占8字节,有效数据位最大为16位。输入时,采用%lf格式串,输出时,采用%.0f来去掉小数部分的0如果操作的数据在以上位数范围内,可选择相应的类型进行数据变量定义。如果想表达任意长度的整数,则只能采用字符串进行数据存储,输入输出按字...
回复

使用道具 举报

千问 | 2017-10-2 03:40:41 | 显示全部楼层
可以用字符数组保存大数,,,不仅大于11行100~200及更多位都行大数相加#include#includeint Maxlen ;char a[110] , b[110] ;int an1[110] , an2[110] ;int Addition(int maxlen , int an...
回复

使用道具 举报

千问 | 2017-10-2 03:40:41 | 显示全部楼层
#include void main(){
__int64 a,n,N=1;//结果不超过18位的话可以用int64这个是64位的
__int64 sn,an;
printf("请输入a和n\n");
scanf("%I64d%I64d",&a,&n);
printf("a=%I64...
回复

使用道具 举报

千问 | 2017-10-2 03:40:41 | 显示全部楼层
因为int型只有4字节,32位,long long int 也只有8字节,存放不了太大的数字,如果数字太大,你可以将数字放在char 数组中,或者将数字变成字符串,...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行