运算符和基本运算
算术、关系和逻辑运算符、特殊字符、模除法与舍入、幂、对数和平方根
Syslab 使用许多常见运算符和特殊字符,您可以使用它们对任何类型的数组执行简单的运算。
运算符
基础运算符号
算术运算符
以下算术运算符支持所有的原始数值类型:
| 表达式 | 名称 | 描述 |
+x | 一元加法运算符 | 全等操作 |
-x | 一元减法运算符 | 将值变为其相反数 |
x + y | 二元加法运算符 | 执行加法 |
x - y | 二元减法运算符 | 执行减法 |
x * y | 乘法运算符 | 执行乘法 |
x / y | 除法运算符 | 执行除法 |
x ÷ y | 整除 | 取 x / y 的整数部分 |
x \ y | 反向除法 | 等价于 y / x |
x ^ y | 幂操作符 | x 的 y 次幂 |
x % y | 取余 | 等价于 rem(x,y) |
布尔运算符
Bool 类型支持以下布尔运算符:
| 表达式 | 名称 |
!x | 否定 |
x && y | 短路与 |
x || y | 短路或 |
位运算符
所有原始整数类型都支持以下位运算符:
| 表达式 | 名称 |
~x | 按位取反 |
x & y | 按位与 |
x Ι y | 按位或 |
x ⊻ y | 按位异或(逻辑异或) |
x ⊼ y | 按位与(非与) |
x ⊽ y | 按位或(非或) |
x >>> y | 逻辑右移 |
x >> y | 算术右移 |
x << y | 逻辑/算术左移 |
复合赋值运算符
| 符号 | 角色 | 更多信息 |
| &= | 与赋值 | &= |
| += | 加法赋值 | += |
| -= | 减法赋值 | -= |
| *= | 乘法赋值 | *= |
| ÷= | 整除赋值 | ÷= |
| <<= | 算术左移赋值 | <<= |
| >>= | 算术右移赋值 | >>= |
| \= | 左除赋值 | \= |
| >>>= | 逻辑右移赋值 | >>>= |
| |= | 或赋值 | |= |
| ^= | 幂赋值 | ^= |
| %= | 取余赋值 | %= |
| /= | 右除赋值 | /= |
| :: | 用两个笛卡尔数构建笛卡尔坐标 | :: |
数值比较
| 函数名 | 简介 |
== | 相等 |
!=, ≠ | 不等 |
< | 小于 |
<=, ≤ | 小于等于 |
> | 大于 |
>=, ≥ | 大于等于 |
运算符的优先级与结合性
从高到低,Julia 运算符的优先级与结合性为:
| 分类 | 运算符 | 结合性 |
| 语法 | . followed by :: | 左结合 |
| 幂运算 | ^ | 右结合 |
| 一元运算符 | + - √ | 右结合 |
| 移位运算 | << >> >>> | 左结合 |
| 除法 | // | 左结合 |
| 乘法 | * / % & \ ÷ | 左结合 |
| 加法 | + - Ι ⊻ | 左结合 |
| 语法 | : .. | 左结合 |
| 语法 | |> | 左结合 |
| 语法 | <| | 右结合 |
| 比较 | > < >= <= == === != !== <: | 无结合性 |
| 流程控制 | && followed by || followed by ? | 右结合 |
| Pair 操作 | => followed by ? | 右结合 |
| 赋值 | = += -= *= /= //= \= ^= ÷= %= Ι = &= ⊻= <<= >>= >>>= | 右结合 |
算术运算
加、减、乘、除、幂、四舍五入
关系运算
值的比较
逻辑运算
真或假(布尔)条件
逻辑运算
| 函数名 | 简介 |
| & | 计算逻辑 AND |
| && | 具有短路功能的逻辑运算 |
| ! | 计算逻辑 NOT |
| | | 计算逻辑 OR |
| || | 具有短路功能的逻辑运算 |
| xor | 按位异或 |
| ⊻ | 按位异或 |
| all | 确定所有的数组元素是为非零还是 true |
| any | 确定任何数组元素是否为非零 |
| false | 逻辑 0(假) |
| true | 逻辑值 1(真) |
| find | 查找非零元素的索引和值 |
| logical | 将数值转换为逻辑值 |
按位运算
设置、偏移或比较特定位域
集合运算
并集、交集、集合关系
其它常用函数
除法函数
| 函数名 | 简介 |
| div | 带有舍入选项的整除 |
| mod | 除后的余数(取模运算) |
| rem | 除后的余数 |