gpt4 book ai didi

c - C中最大的数

转载 作者:行者123 更新时间:2023-12-02 05:21:52 26 4
gpt4 key购买 nike

scanf("%d",&a);
for(b=1;b<=a;++b)
{
c*=b;
}
printf("%lu",c);

我要100的答案!
100 的阶乘。
我怎么能得到这个? (我想获得更大范围的数字)
我们不能有无穷大的数量限制吗?

最佳答案

在几乎所有(现代)平台上,最大整数范围是 2^31 - 1 (尽管按照标准,int 只需要至少为 16 位)。对于您给定的平台,它将被定义为 INT_MAX<limits.h> .
100!显然会远远超过这个。在 C 中计算这么大的东西,你需要一个大的整数库,比如 GMP .

提醒一下,如果您决定尝试使用 double (可以容纳这种大小的数字),由于精度损失,您将得到错误的答案。这很容易发现 - 在我的机器上,最后一位数字是 48 ,这显然是胡说八道:100!必须能被 100 整除,因此必须有 00作为最后两位数字。

关于c - C中最大的数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17037868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com