當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。