【问题标题】:INT vs FLOOR in FortranFortran 中的 INT 与 FLOOR
【发布时间】:2017-04-13 01:13:06
【问题描述】:

根据 gfortran 文档,INT(x)FLOOR(x) 都接受输入 x 并将 x 转换为整数类型。 FLOOR 显然只允许 REAL 类型的输入,而 INT 接受 INTEGER、REAL 和复数类型的输入。

允许的输入类型是INTFLOOR 之间的唯一区别吗?如果是这样,谁能解释为什么 FLOOR 存在,因为它显然是多余的?

“类似问题”框在 CC++Python3 中显示了类似的 Stack Overflow 问题,但显然还没有人为 Fortran 提出过这个问题,这让我深入探讨了这个问题.

在我对 GoogleStack Overflow 的快速搜索中包含 Fortran 意味着没有出现任何有用的信息。所以这无疑是重复的(除非 Fortran 有 INTFLOOR 怪癖将其与 C/C++/Python 分开),但我认为它可以让结果更容易/更快速地搜索。

【问题讨论】:

    标签: fortran


    【解决方案1】:

    INT 的定义是,对于 REAL 输入,它向零舍入,而 FLOOR 总是向下舍入。因此,对于负输入,结果会有所不同。

    与您引用的其他一些语言不同,在 Fortran 中调用 FLOOR 的结果是 INTEGER 类型。

    在其表亲 NINTCEILING 的上下文中考虑 FLOOR

    【讨论】:

      猜你喜欢
      • 2021-07-06
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多