无涯教程-Erlang - 运算符

76 阅读2分钟

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

参考链接

www.learnfk.com/erlang/erla…