c++如何输出一个很大的数,超过10位的?

2025-03-22 10:12:09
推荐回答(4个)
回答1:

使用C++11新提出的(unsigned) long long类型,这个类型保证至少用64位来存储,因此对于有符号的long long可以表示的最大整数为2^63-1,如果使用无符号的unsigned long long,其表示的最大整数可以达到2^64-1。

如果这个类型仍不能满足你,可以自己写一个类,用string来表示数,并重载它的各种运算。

如果你嫌太麻烦,可以使用GMP高精度库,详情见
https://gmplib.org/

回答2:

通过字符串数组来表示,并且超大数据的计算也是通过字符串手动模拟运算

回答3:

void fun(unsigned long a)
{
if(a==0)
{
printf("0");
return;
}
int st[16];
int top=0;
while(a)
{
st[top++]=a%10;
a/=10;
}
while(top)printf("%d",st[--top]);

}

回答4:

用 long double a;