c++中怎么输入一个大的数值

来源:百度知道 编辑:UC知道 时间:2024/06/27 19:49:23
我要输入一个很大的数值 这个数值肯定是超出了计算机的范围 那要怎么输入呢?怎么写程序 比如输入100000000000在输入时不能加空格 就是按照平常的输入 !!
问题是输入的时候怎么用

我在C里是这样做的 不知道C++ 修改一下N后面的数值就可以控制输入输出的长度了 返回的是数值 不是字符
#include<stdio.h>
#define N 10000
int main(void)
{
char ch[N];
int a=0;
int i=0;
int j=0;
int s=0;
ch[i]=getchar();
while((ch[i]!='\n')&&(ch[i]!=' ')&&(i<N))
{
if((ch[i]>='0')&&(ch[i]<='9'))
{
a=ch[i]-'0';
j*=10;
if (j=0)
j=1;
s=s*j+a;
i++;
ch[i]=getchar();
printf("%d",s);
}
else
{printf("\rInput error!");return 0;}
}
return 0;
}

用__int64这种数据类型就行了,它是8字节的,用法与int相同

__int64 a;
scanf("%I64d",&a);

高精度,字符串处理

如果数确实超大的时候,你就要自定义一个大数类,用一个数组来表示 这个数的位数,比如用a[1000]来表示1000位数,够你用了吧,然后加上一些数学进位原则来重载数学基本运算就是了!!