符号函数和绝对值函数
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