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 or true 将得到 true
and 这是逻辑“与”运算符 True and false 将得到 false
not 这是逻辑“非”运算符 not false 将得到 true
xor 这是逻辑异或“xor”运算符 True xor false 将得到 true

位运算符

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

显示示例

序号 运算符 & 描述
1

band

这是按位“与”运算符

2

bor

这是按位“或”运算符

3

bxor

这是按位“异或”或“异或”运算符

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 左结合
==,/=,=<,<,>=,>
广告