Julia - 算術基本函數


符號函數和絕對值函數

abs(x) 函數求 x 的絕對值(幅值)

julia> abs(3)
3

julia> abs(-3)
3

abs2(x) 函數求 x 的絕對值(幅值)的平方

julia> abs2(3)
9

julia> abs2(-3)
9

sign(x) 函數求 x 的正負號,返回 -1,0,+1

julia> sign(3)
1

julia> sign(-3)
-1

julia> sign(0)
0

signbit(x) 判斷是否有符號位,返回 Bool 值

julia> signbit(36)
false

julia> signbit(-36)
true

copysign(x, y) 返回一個數,這個數具有 x 的值,y 的符號位

julia> copysign(-3, -36)
-3

julia> copysign(-3, 36)
3

julia> copysign(3, -36)
-3

 flipsign(x, y) 返回一個數,這個數具有 x 的值,x*y 的值的符號位

julia> flipsign(3, 2)
3

julia> flipsign(3, -2)
-3

julia> flipsign(-3, 2)
-3

julia> flipsign(-3, -2)
3

乘方,對數和開方

sqrt(x) 求 x 的平方根

julia> sqrt(9)
3.0

cbrt(x) 求 x 的立方根

julia> cbrt(27)
3.0

julia> cbrt(-27)
-3.0

hypot(x,y) 為誤差較小的 sqrt(x^2 + y^2)

julia> sqrt(3^2 + 5^2)
5.830951894845301

julia> hypot(3, 5)
5.8309518948453

exp(x) 計算自然指數 e 的 x 次冪

julia> exp(2)
7.38905609893065

julia> exp(1)
2.718281828459045

log(x) 計算 x 的對數

julia> log(16)
2.772588722239781

log(x, y) 求以 x 為底 y 的對數

julia> log(3, 81)
4.0

log2(x) 求以 2 為底 x 的對數

julia> log2(16)
4.0

log10(x) 求以 10 為底 x 的對數

julia> log10(100)
2.0

log1p(x) 當 x 接近 0 時,精確計算 log(1+x)

julia> log1p(0.01)
0.009950330853168083

exponent(x) 求 x 的二進制指數

julia> exponent(0.2)
-3

significand(x) 求浮點數 x 的二進制有效數(a.k.a. 尾數)

julia> significand(0.2)
1.6

除法函數

div(x, y) 截斷取整除法,x 除以 y,商向 0 舍入

julia> div(9, 3)
3

julia> div(10, 3)
3

fld(x, y) 為向下取整除法,x 除以 y,商向 -Inf 舍入

julia> 16.5 / 5
3.3

julia> fld(16.5, 5)
3.0

julia> 18.5 / 5
3.7

julia> fld(18.5, 5)
3.0

cld(x, y) 為向上取整除法,x 除以 y,商向 +Inf 舍入

julia> 16.5 / 5
3.3

julia> cld(16.5, 5)
4.0

julia> 18.5 / 5
3.7

julia> cld(18.5, 5)
4.0

rem(x, y) 為除法的余數,滿足 x == div(x, y)*y + rem(x, y),與 x 同號

julia> rem(10, 3)
1

julia> rem(9, 3)
0

julia> rem(10.12, 3)
1.1199999999999992

mod(x, y) 為取模余數,滿足 x == fld(x, y)*y + mod(x, y),與 y 同號

julia> mod(16.5, 5)
1.5

julia> rem(16.5, 5)
1.5

mod1(x, y) 為偏移 1 的mod,返回 r∈(0,y] 其中 y>0 或者 r∈[y,0) 其中 y<0,其中 mod(r, y) == mod(x, y)

julia> mod1(8, 4)
4

julia> mod1(-8, 4)
4

mod2pi(x) 對 2pi 取模余數,0 <= mod2pi(x) < 2pi

julia> mod2pi(9*pi/4)
0.7853981633974481

gcd(x, y...) 求 x, y, ... 的最大公約數,與 x 同號

julia> gcd(6, 9, 27)
3

julia> gcd(6, -9, 27)
3

lcm(x, y...) 求 x, y, ... 的最小公倍數,與 x 同號

julia> lcm(2, 3, 4)
12

julia> lcm(2, 3, -4)
12

divrem(x, y) 返回 (div(x, y),rem(x, y)),即為商和余數

julia> divrem(10, 3)
(3, 1)

fldmod(x, y) 返回 (fld(x, y),mod(x, y))

julia> fldmod(16.5, 5)
(3.0, 1.5)

舍入函數

round(x) 把 x 四舍五入到最近的整數,返回 x 的類型

julia> round(3.3)
3.0

julia> round(3.7)
4.0

round(T, x) 把 x 四舍五入到最近的整數,返回 T 類型

julia> round(Int, 3.7)
4

floor(x) 把 x 向 -Inf 取整,返回 x 的類型

julia> floor(3.3)
3.0

julia> floor(3.7)
3.0

floor(T, x) 把 x 向 -Inf 取整,返回 T 類型

julia> floor(Int, 3.7)
3

ceil(x)    把 x 向 +Inf 取整,返回 x 的類型

julia> ceil(3.3)
4.0

julia> ceil(3.7)
4.0

ceil(T, x) 把 x 向 +Inf 取整,返回 T 類型

julia> ceil(Int, 3.7)
4

trunc(x) 把 x 向 0 取整,返回 x 的類型

julia> trunc(3.1)
3.0

julia> trunc(-3.1)
-3.0

trunc(T, x) 把 x 向 0 取整,返回 T 類型

julia> trunc(Int, -3.1)
-3

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM