Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 这个Fortran条件表达式将如何计算?_If Statement_Fortran_Fortran95 - Fatal编程技术网

If statement 这个Fortran条件表达式将如何计算?

If statement 这个Fortran条件表达式将如何计算?,if-statement,fortran,fortran95,If Statement,Fortran,Fortran95,在Fortran95代码中,变量NMOM是一个整数,始终等于3 P0的值是1还是-1?除以2再乘以2位让我感到困惑,我不知道你为什么要这样做,但这是由一位非程序员科学家在90年代写的,他已经不想再问了 P0=1 IF(NMOM-NMOM/2*2.EQ.1)P0=-1 代码是在Linux机器上用lf95编译的。我不知道Fortran,但我猜它正在测试NMOM是奇数还是偶数。首先,使用parens重写以模拟运算符优先级: IF(NMOM-((NMOM/2)*2).EQ.1)P0=-1 如果我们使

在Fortran95代码中,变量NMOM是一个整数,始终等于3

P0的值是1还是-1?除以2再乘以2位让我感到困惑,我不知道你为什么要这样做,但这是由一位非程序员科学家在90年代写的,他已经不想再问了

P0=1
IF(NMOM-NMOM/2*2.EQ.1)P0=-1

代码是在Linux机器上用lf95编译的。

我不知道Fortran,但我猜它正在测试NMOM是奇数还是偶数。首先,使用parens重写以模拟运算符优先级:

IF(NMOM-((NMOM/2)*2).EQ.1)P0=-1

如果我们使用整数数学,那么(NMOM/2)*2==NMOM,如果它是偶数,那么它将等于NMOM-1,如果它是奇数。

我不知道Fortran,但我猜它正在测试NMOM是奇数还是偶数。首先,使用parens重写以模拟运算符优先级:

IF(NMOM-((NMOM/2)*2).EQ.1)P0=-1

如果我们使用整数数学,那么(NMOM/2)*2==NMOM,如果它是偶数,那么它将等于NMOM-1,如果它是奇数。

IMO,如果程序工作(意味着它做它应该做的事情并给出正确的结果),那么科学家就是一个程序员。他/她可能不是一个好的程序员(能够很好地进行优化或注释),但他们肯定是一个程序员。如果是Fortran 95,那肯定不是古老的代码。用Fortran语言来说,这实际上是现代的。依我看,如果程序能工作(意味着它做了它应该做的事情并给出了正确的结果),那么科学家就是一个程序员。他/她可能不是一个好的程序员(能够很好地进行优化或注释),但他们肯定是一个程序员。如果是Fortran 95,那肯定不是古老的代码。用Fortran语言来说,这实际上是现代的。整数运算是这里最有趣的,因为除以2只会得到结果的整数部分,现在一切都有意义了,谢谢你的帮助!整数运算是这里最有趣的,因为除以2只会得到结果的整数部分,现在一切都有意义了,谢谢你的帮助!