Julia简易教程——2_julia数学运算及其基本功能

时间:2022-07-24
本文章向大家介绍Julia简易教程——2_julia数学运算及其基本功能,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Julia提供了所有需要用到的运算,包括:基本算术以及按位运算。

算数运算

# 加
julia > 1 + 2
3
julia > 1 + 2 + 3
6

# 减
julia > 2 - 1 
1
julia > 1 - 2
-1

# 乘
julia > 2 * 4
8
julia > 2 * 4 * 2
16

# 除
# 无论两元是否为浮点,结果为均为浮点
julia > 4 / 2
2.0

# 逆除
julia > 4  2
0.5

# 次方
julia > 4 ^ 2
16

# 模
julia > 4 % 2
0
julia > 4 % 3
1

按位运算

有关位运算的基础知识见:

# 取反
julia > ~10
-11

# 按位与运算
julia > 123 & 234
106

# 按位或运算
julia > 123 & 234
251

# 异或xor
julia > xor(123 , 234)
145

# 逻辑右移
julia > 9 >>> 3
1

# 算术右移
julia > 9 >> 3
1

# 逻辑/算术左移
julia > 9 << 3
72

数字比较

# 判断是否相等
julia > 1 == 1
true
julia > 1 == 2
false
julia > 1 == 1.0
true
julia > 1 != 2
true

# 小于
julia> 1 < 2
true
julia> 3 < -0.5
false

# 大于
julia> 1.0 > 3
false

# 大于等于
julia> 1 >= 1.0
true

# 小于等于
julia> -1 <= 1
true
julia> -1 <= -1
true
julia> -1 <= -2
false

注意NaN 不等于,不小于,不大于任何东西,包括它本身。

julia > NaN == NaN
false

julia > NaN != NaN
true

julia > NaN < NaN
false

julia > NaN > NaN
false

Julia同时提供了数字判断函数

函数名

功能

isequal(x, y)

x, y 是否相同

isfinite(x)

x 是否是一个有限数

isnan(x)

x 是否为空

举例:

# isequal(x, y)
julia > isequal(NaN, NaN)
true
julia > isequal([1 NaN], [1 NaN])
true
julia > isequal(NaN, NaN32)
true

# isfinite(x)
julia > isfinite(0)
true
julia > isfinite(NaN)
false

# isnan(x)
julia > isnan(0)
false
julia > isnan(NaN)
true

数字转换

舍入功能

功能

描述

round(x)

舍x入到最接近的整数(5舍)

floor(x)

负无穷方向最近整数

ceil(x)

正无穷方向最近整数

trunc(x)

0方向最近整数

举例:

# round(x)
julia> round(2.4)
2.0
julia> round(2.5)
2.0
julia> round(2.6)
3.0
julia> round(-2.6)
-3.0
julia> round(-2.4)
-2.0
julia> round(-2.5)
-2.0

# floor(x)
julia> floor(2.4)
2.0
julia> floor(2.5)
2.0
julia> floor(2.6)
2.0
julia> floor(-2.6)
-3.0
julia> floor(-2.5)
-3.0
julia> floor(-2.4)
-3.0

# ceil(x)
julia> ceil(2.5)
3.0
julia> ceil(2.6)
3.0
julia> ceil(-2.6)
-2.0
julia> ceil(-2.5)
-2.0
julia> ceil(-2.4)
-2.0

# trunc(x)
julia> trunc(2.4)
2.0
julia> trunc(2.5)
2.0
julia> trunc(2.6)
2.0
julia> trunc(-2.6)
-2.0
julia> trunc(-2.5)
-2.0
julia> trunc(-2.4)
-2.0