Erlang 运算符

运算符是一种符号,它告诉编译器执行特定的数学或逻辑操作。

Erlang 有以下类型的运算符 -
  • 算术运算符

  • 关系运算符

  • 逻辑运算符

  • 位运算符

算术运行符

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

关系运算符

关系运算符允许对象比较。以下是在 Erlang 可用的关系运算符。

操作符 描述 示例
== 测试两个对象是否相等 2 = 2 结果为 true
/= 测试两个对象是否为不相等 3 /= 2 结果为 true
< 测试左边对象是否小于右边操作对象 2 < 3 结果为 true
=<测试左边对象是否小于或等于右边操作对象 2 =<3 结果为 true
>测试左边对象是否大于右边操作对象 3 > 2 结果为 true
>=测试左边对象是否大于或等于右边操作对象 3 >= 2 结果为 true

逻辑运算符

这些逻辑运算符用于计算布尔表达式。以下是在 Erlang 可用的逻辑运算。

操作符 描述 示例
or 逻辑 “或”操作符 true 或 true 结果为 true
and逻辑 “与”操作符 True 与 false 结果为 false
not逻辑 “非”操作符 非 false 结果为 true
xor逻辑 “异或”操作符 True异或 false 结果为 false

位运算符

Erlang提供四个位运算符。以下是在 Erlang 可用的位运算符。

S.No. 操作符 & 描述
1

band

位 “and”运算符

2

bor

位 “or” 运算符

3

bxor

位 “xor”或异运算符

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

运算符优先级

下表显示了Erlang中运算符优先级,以及它们一起关联递减优先顺序。运算符优先级用来确定在不带括号表达式的计算顺序。
运算符 关联
:

#

bnot,not

/,*,div,rem,band,and左关联
+,-,bor,bxor,or,xor左关联
==,/=,=<,<,>=,>