Erlang具有以下类型的运算符-
- 算术运算符
- 关系运算符
- 逻辑运算符
- 按位运算符
算术运算符
Erlang语言支持普通的算术运算符,就像任何一种语言一样,以下是Erlang中可用的算术运算符。
| 运算符 | 描述 | 示例 |
|---|---|---|
| + | 加 | 1 + 2=3 |
| - | 减 | 1 - 2=-1 |
| * | 乘 | 2 * 2=4 |
| / | 除 | 2/2=1 |
| rem | 余数 | 3 rem 2=1 |
| div |
整数除法 |
3 div 2=1 |
-module(helloLearnfk). -export([start/0]).start() -> X = 40, Y = 50,
Res1 = X + Y, Res2 = X - Y, Res3 = X * Y, Res4 = X / Y, Res5 = X div Y, Res6 = X rem Y,
io:fwrite("
wn",[Res1]), io:fwrite("wn",[Res2]), io:fwrite("wn",[Res3]), io:fwrite("wn",[Res4]), io:fwrite("wn",[Res5]), io:fwrite("wn",[Res6]).
上面程序的输出将是-
90 -10 2000 0.8 0 40
关系运算符
关系运算符允许比较对象。 以下是Erlang中可用的关系运算符。
| 运算符 | 描述 | 示例 |
|---|---|---|
| == |
等于 |
2=2=true |
| /= |
不等于 |
3 /= 2=true |
| < | 小于 | 2 < 3=true |
| =< | 小于或等于 | 2 =<3=true |
| > | 大于 | > 2=true |
| >= | 大于或等于 | 3 >= 2=true |
-module(helloLearnfk). -export([start/0]).start() -> io:fwrite("
wn",[3==2]), io:fwrite("wn",[3/=2]), io:fwrite("wn",[3<2]), io:fwrite("wn",[3=<2]), io:fwrite("wn",[3>2]), io:fwrite("wn",[3>=2]).
上面程序的输出将是-
false true false false true true
逻辑运算符
这些逻辑运算符用于布尔表达式。 以下是Erlang中可用的逻辑运算符。
| 运算符 | 描述 | 示例 |
|---|---|---|
| or | 或 | true or false=true |
| and | 和 | true and false=flase; |
| not | 非 | not false=true |
| xor | 异 | true xor false=true |
-module(helloLearnfk). -export([start/0]).start() -> io:fwrite("
wn",[true or false]),
io:fwrite("wn",[true and false]), io:fwrite("wn",[true xor false]), io:fwrite("wn",[not false]).
上面程序的输出将是-
true false true true
按位运算符
Erlang提供了四个按位运算符。以下是Erlang中可用的按位运算符。
| Sr.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 |
-module(helloLearnfk). -export([start/0]).start() -> io:fwrite("
wn",[00111100 band 00001101]), io:fwrite("wn",[00111100 bxor 00111100]), io:fwrite("wn",[bnot 00111100]), io:fwrite("wn",[00111100 bor 00111100]).
上面程序的输出将是-
76 0 -111101 111100