Julia-数学运算(第6讲)
程序员文章站
2022-05-28 16:53:47
...
Julia 数学运算 2020/5/30
=============================================================================
1.1.算术运算符
# 下面的算术运算符适用于所有的基本数值类型:类型自动提升
+(正);-(负);!x(非Bool);+;-;*;div(整除);/(浮点除);x \ y (反除 = y / x)
x ^ y )乘方:x 的 y 次幂);x % y (取余 = rem(x, y))
1.2.位运算符
# 适用于所有整数类型:
~x 位取反; x & y 位与; x | y 位或; x ⊻ y ;位异或 xor(x,y)
x >>> y 逻辑右移位(高位补 0); x >> y 算术右移位(复制原高位); x << y 逻辑/算术左移位
1.3.复合赋值运算符
# 二元算术和位运算都有对应的复合赋值运算符
+= -= *= /= \= %= ^= &= |= ⊻ = >>>= >>= <<=
1.4.数值比较
# 所有基础数值类型都可以使用比较运算符
# 整数是按位比较的;浮点数是IEEE754标准;有限数按照正常方式做比较。
# 正零等于负零;Inf/-Inf 等于它本身,并且大/小于所有数, 除NaN
# NaN 不等于、不大于、不小于任何数,包括它本身。
== !=(≠) < <= (≤) > >= (≥)
=============================================================================
1.5.链式比较
# &&用于标量比较,&用于元素数组比较,使它们可以处理数组。
1 < 2 <= 2 < 3 == 3 > 2 >= 1 == 1 < 3 != 5# true
实例1:注意链式比较的比较顺序:
v(x) = (println(x); x)
v(1) < v(2) <= v(3)#中间值只计算一次; v(1) < v(2) && v(2) <= v(3) 计算2次
# 2 #链式比较的计算顺序是不确定的
# 1 #不要在链式比较中使用带副作用(比如打印)的表达式
# 3 #如果需要使用副作用表达式,推荐使用短路 && 运算符
# true
v(1) > v(2) <= v(3)
# 2
# 1
# false
实例2:操作符 .< 是特别针对数组
A,B=[1,4,7],[2,3,8]
0 .< A .< B #只有当 A 和 B 有着相同的大小时, A .< B 才是合法
# 3-element BitArray{1}:结果对应布尔数组,满足条件元素返回 true
# 1
# 0
# 1
=============================================================================
2.实例:
实例1:位运算
~123,~UInt32(123) # (-124, 0xffffffffffffff84)
123 & 234,123 | 234,123 ⊻ 234# (106, 251, 145)
实例2:
x += 3 # 赋值运算符:x = x + 3
1 == 1.0,1 != 2 # 比较: (true, true)
NaN == NaN,NaN != NaN,NaN < NaN,NaN > NaN # (false, true, false, false)
[1 NaN] == [1 NaN] # false
特殊值测试函数:
isequal(x, y) #x 是否等价于 y
isfinite(x) #x 是否为有限的数
isinf(x) #x 是否为无限的数
isnan(x) # x 是否不是数
isequal(NaN,NaN),isequal(NaN,NaN32),isequal([1 NaN], [1 NaN])#认为 NaN 等于它本身:(true, true, true)
-0.0 == 0.0,isequal(-0.0, 0.0) #区分有符号的零:(true, false)
=============================================================================
3.运算优先级--高至低:
语法 . 跟随 ::
幂 ^ 和 .^ 等效
分数 // 和 .//
乘除 / % & \和 .* ./ .% .\
位移 << >> >>> 和 .<< .>> .>>>
加减 + - | $ 和 .+ .-
语法 : .. 跟随于 |>
比较 > < >= <= == === != !== <: 和 .> .< .>= .<= .== .!=
逻辑 && 跟随于 || 跟随于 ?
赋值 = += -= *= /= //= \= ^= %= \|= &= $= <<= >>= >>>= 及 .+= .-= .*= ./= .//= .\= .^= .%=
===============================================================================
上一篇: MongoDB删除数据库和删除集合