mod(x, y):模数¶
模数或余数函数。
声明¶
语法¶
retval = mod(x, y)
elemental integer function imod(x, y)
elemental real(sp) function mod(x, y)
参数¶
x
输入值,可以是整数或实数。
y
第二个输入参数的类型和种类应与 x
相同且不等于 0。
返回值¶
返回值的类型和种类与 x
相同。结果使用数学模或余数计算为:
x - INT (x / y) * y
.
如果 y
为 0,则结果未定义,如 any integer value / 0
。
描述¶
mod(x, y) 当 x
除以 y
时计算并返回模数或余数。结果计算使用
x - INT(x / y) * y
即,当第一个参数在数学上除以第二个参数时,结果是余数。
返回值应该小于y
。
类型¶
支持的参数类型是实数和整数。
interface mod
module procedure i8mod, i16mod, imod, i64mod, smod, dmod
end interface
contains
elemental integer(i16) function i16mod(x, y)
integer(i16), intent(in) :: x, y
end function
elemental integer(i8) function i8mod(x, y)
integer(i8), intent(in) :: x, y
end function
elemental integer function imod(x, y)
integer, intent(in) :: x, y
end function
elemental integer function i64mod(x, y)
integer(i64), intent(in) :: x, y
end function
elemental real(sp) function smod(x, y)
real(sp), intent(in) :: x, y
end function
elemental real(dp) function dmod(x, y)
real(dp), intent(in) :: x, y
end function
示例¶
program intrinsics_mod
implicit none
print *, mod(-5, 3)
end program
结果:
-2