当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia mod用法及代码示例


用法一

mod(x::Integer, r::AbstractUnitRange)

r 范围内找到 y 使得 x ≡ y (mod n) ,其中 n = length(r) ,即 y = mod(x - first(r), n) + first(r)

另见 mod1

例子

julia> mod(0, Base.OneTo(3))
3

julia> mod(3, 0:2)
0

Julia 1.3

此方法至少需要 Julia 1.3。

用法二

mod(x, y)
rem(x, y, RoundDown)

xy 的减少,或等效地,在被 y 进行下限除法后的 x 的余数,即 x - y*fld(x,y) 如果在没有中间舍入的情况下计算。

结果将具有与 y 相同的符号,并且幅度小于 abs(y) (有一些例外,请参见下面的注释)。

注意

当与浮点值一起使用时,确切的结果可能无法由类型表示,因此可能会出现舍入错误。特别是,如果精确结果非常接近 y ,那么它可能会四舍五入为 y

另请参阅: rem div fld mod1 invmod

julia> mod(8, 3)
2

julia> mod(9, 3)
0

julia> mod(8.9, 3)
2.9000000000000004

julia> mod(eps(), 3)
2.220446049250313e-16

julia> mod(-eps(), 3)
3.0

julia> mod.(-5:5, 3)'
1×11 adjoint(::Vector{Int64}) with eltype Int64:
 1  2  0  1  2  0  1  2  0  1  2

用法三

rem(x::Integer, T::Type{<:Integer}) -> T
mod(x::Integer, T::Type{<:Integer}) -> T
%(x::Integer, T::Type{<:Integer}) -> T

找到 y::T 使得 xy (mod n),其中 n 是 T 中可表示的整数的数量,而 y[typemin(T),typemax(T)] 中的整数。如果 T 可以表示任何整数(例如 T == BigInt ),则此操作对应于到 T 的转换。

例子

julia> 129 % Int8
-127

相关用法


注:本文由纯净天空筛选整理自julialang.org大神的英文原创作品 Base.mod — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。