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

 

posted @ 2018-08-19 21:39  Sch01aR#  阅读(2508)  评论(0编辑  收藏  举报