gpt4 book ai didi

integer - Fortran:处理大小的整数值:~700000000000

转载 作者:行者123 更新时间:2023-12-04 09:02:08 27 4
gpt4 key购买 nike

目前我正在复习我的 Fortran95 知识(不要问为什么)...

我遇到了一个问题。如何处理大整数,例如。大小:~700000000000

INTEGER(KIND=3) 不能容纳这个数字。
如果有人对我可用的编译器感兴趣,那就是 Silverfrost FTN95。

我正在使用整数来运行更大的数据集。

你有什么建议吗?

最佳答案

标准解决方案(自 Fortran 95 起,所以我假设您的编译器支持它)是使用 SELECTED_INT_KIND 固有的探测有效整数类型(其值取决于编译器)和 HUGE 固有的。

  • SELECTED_INT_KIND (R)返回整数类型的 kind 类型参数,该类型参数表示所有整数值 n,其中 -10^R < n < 10^R(如果不存在此类类型,则返回 -1)。
  • HUGE (K)返回 K 类整数类型中最大的可表示数。

  • 例如,在我的带有 x86_64 处理器( gfortran 编译器,64 位模式)的 Mac 上,以下程序:
      print *, selected_int_kind(1)
    print *, selected_int_kind(4)
    print *, selected_int_kind(8)
    print *, selected_int_kind(16)
    print *, selected_int_kind(32)
    print *, selected_int_kind(64)
    print *, huge(0_1)
    print *, huge(0_2)
    print *, huge(0_4)
    print *, huge(0_8)
    print *, huge(0_16)
    end

    输出:
               1
    2
    4
    8
    16
    -1
    127
    32767
    2147483647
    9223372036854775807
    170141183460469231731687303715884105727

    这告诉我我会使用 integer(kind=8)为你的工作。

    关于integer - Fortran:处理大小的整数值:~700000000000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2390395/

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