Julia提供了所有需要用到的运算,包括:基本算术以及按位运算。
算数运算
代码语言:javascript复制# 加
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
按位运算
有关位运算的基础知识见:
代码语言:javascript复制# 取反
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
数字比较
代码语言:javascript复制# 判断是否相等
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 是否为空 |
举例:
代码语言:javascript复制# 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方向最近整数 |
举例:
代码语言:javascript复制# 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