运算符
优质
小牛编辑
137浏览
2023-12-01
运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。
Erlang有以下类型的运算符 -
- 算术运算符
- 关系运算符
- 逻辑运算符
- 按位运算符
算术运算符 (Arithmetic Operators)
Erlang语言支持普通的算术运算符作为任何语言。 以下是Erlang中可用的算术运算符。
操作者 | 描述 | 例 |
---|---|---|
+ | 增加了两个操作数 | 1 + 2将给出3 |
− | 从第一个减去第二个操作数 | 1 - 2将给-1 |
* | 两个操作数的乘法 | 2 * 2将给4 |
/ | 由分母划分的分子 | 2/2会给1 |
rem | 将第一个数除以第二个数的余数 | 3 rem 2将给出1 |
div | div组件将执行除法并返回整数组件。 | 3 div 2将给出1 |
关系运算符 (Relational Operators)
关系运算符允许比较对象。 以下是Erlang中可用的关系运算符。
操作者 | 描述 | 例 |
---|---|---|
== | 测试两个对象之间的相等性 | 2 = 2将给出真实 |
/= | 测试两个对象之间的差异 | 3/= 2将给出真实 |
< | 检查左对象是否小于右操作数。 | 2 <3将给出真实 |
=< | 检查左对象是否小于或等于右操作数。 | 2 = <3将给出真实 |
> | 检查左对象是否大于右操作数。 | 3> 2将给出真实 |
>= | 检查左对象是否大于或等于右操作数。 | 3> = 2将给出真实 |
逻辑运算符 (Logical Operators)
这些逻辑运算符用于计算布尔表达式。 以下是Erlang中可用的逻辑运算符。
操作者 | 描述 | 例 |
---|---|---|
or | 这是逻辑“或”运算符 | 真或假会成真 |
and | 这是逻辑“和”运算符 | 真与假会给出错误 |
not | 这是逻辑“非”运算符 | 不是假的会给出真实的 |
xor | 这是逻辑上独有的“xor”运算符 | 真正的xor假将给出真实 |
按位运算符 (Bitwise Operators)
Erlang提供了四个按位运算符。 以下是Erlang中可用的按位运算符。
Sr.No. | 操作符和说明 |
---|---|
1 | band 这是按位“和”运算符 |
2 | bor 这是按位“或”运算符 |
3 | bxor 这是按位“xor”或Exclusive或运算符 |
4 | bnot 这是按位否定运算符 |
以下是展示这些运算符的真值表 -
p | q | p&q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
运算符优先级 (Operator Precedence)
下表按优先级降序及其关联性顺序显示了Erlang运算符的运算符优先级。 运算符优先级和关联性用于确定未加括号的表达式中的评估顺序。
运算符 | 关联性 |
---|---|
: | |
# | |
bnot,not | |
/,*,div,rem,band,and | Left Associative |
+,-,bor,bxor,or,xor | Left Associative |
==,/=,=<,<,>=,> |