数学运算和基本函数
Julia 为它所有的基础数值类型,提供了整套的基础算术和位运算,也提供了一套高效、可移植的标准数学函数。
算术运算符
下面的算术运算符适用于所有的基本数值类型:
表达式
名称
描述
+x
一元加法
x 本身
-x
一元减法
相反数
x + y
二元加法
做加法
x - y
二元减法
做减法
x * y
乘法
做乘法
x / y
除法
做除法
x \ y
反除
等价于 y / x
x ^ y
乘方
x 的 y 次幂
x % y
取余
等价于 rem(x, y)
以及 Bool 类型的非运算:
表达式
名称
描述
!x
非
true 和 false 互换
Julia 的类型提升系统使得参数类型混杂的算术运算也很简单自然。详见类型转换和类型提升。
算术运算的例子:
julia> 1 + 2 + 3
6
julia> 1 - 2
-1
julia> 3*2/12
0.5
(习惯上,优先级低的运算,前后多补些空格。这不是强制的。)
位运算符
下面的 位运算符 适用于所有整数类型:
表达式
名称
~x
按位取反
x & y
按位与
x \| y
按位或
x $ y
按位异或
x >>> y
向右 逻辑移位 (高位补 0 )
x >> y
向右 算术移位 (复制原高位)
x << y
向左逻辑/算术移位
位运算的例子:
julia> ~123
-124
julia> 123 & 234
106
julia> 123 | 234
251
julia> 123 $ 234
145
julia> ~uint32(123)
0xffffff84
julia> ~uint8(123)
0x84
复合赋值运算符
二元算术和位运算都有对应的复合赋值运算符,即运算的结果将会被赋值给左操作数。在操作符的后面直接加上 = 就组成了复合赋值运算符。例如, x += 3 相当于 x = x + 3 :
julia> x = 1
1
julia> x += 3
4
julia> x
4
复合赋值运算符有:
+= -= *= /= \= %= ^= &= |= $= >>>= >>= <<=
数值比较
所有的基础数值类型都可以使用比较运算符:
运算符
名称
==
等于
!=
不等于
<
小于</