在Fortran的INT与FLOOR

时间:2016-11-29 06:27:56

标签: fortran

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

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

“类似问题”框在CC++Python3中显示了类似的Stack Overflow问题,但显然没有人向Fortran提出这个问题,这导致我深入了解它。

GoogleStack Overflow的快速搜索中包含Fortran意味着没有任何有用的内容。所以这肯定是重复的(除非Fortran有INTFLOOR怪癖将它与C / C ++ / Python分开)但我认为它可以实现更容易/快速搜索结果。

1 个答案:

答案 0 :(得分:3)

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

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

在其堂兄FLOORNINT的上下文中考虑CEILING