开源中文网

您的位置: 首页 > erlang > 正文

Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)

来源: 网络整理  作者: 佚名

Erlang的比较运算符 

opDescription==等于/=不等于=<小于等于<小于>=大于等于>大于=:=精确的等于=/=精确的不等于等于和精确等于的区别: 
如果要比较两个数,如果两个数之间是不同的类型,比如float和int那么,==操作会首先把两个数字转换成相同的相同类型。举例: 

1> 1==1.0. 
true 
2> 1=:=1.0. 
false 

所以一般推荐用精确等于去比较 

比较运算符的大小级别: 

number < atom < reference < fun < port < pid < tuple < list < bit string 

3> 1 > a. 

false 

opDescriptionArgument type+ 
number- 
number+ 
number- 
number* 
number/浮点数除法,结果是浮点数numberbnot一元not运算符integerdiv整数除法,结果是整数integerrem求玉树integerbandand运算integerboror运算integerbxorxor异或运算integerbsl左移位操作integerbsr右移位操作integer 
逻辑运算符 

opDescriptionnot一元逻辑notand逻辑andor逻辑orxor逻辑xor原子true 和false表示逻辑的”真”和”假” 
此外,逻辑运算符还包括一个orelse 和andalso 

原始的or和and是不带”短路运算”操作的,而orelse和andalso是带短路运算操作的。 

短路运算举例 

Express1 and Express2 

Express1 andalso Express2 

如果Express1 为假,and会继续判断Express2,然后整体判定为假,而andalso”短路”操作,直接判定整个表达式为假,从效率上来说,andalso会高一些 

代码如下:

op Description 
== 等于 
/= 不等于 
=< 小于等于 
< 小于 
>= 大于等于 
> 大于 
=:= 精确的等于 
=/= 精确的不等于 

Examples 
代码如下:

> 1==1.0. 
true 
> 1=:=1.0. 
false 
> 1 > a. 
false 

注: 一般语言的 小于等于 是"<=" 而erlang的 "=<" 这样写

Tags:运算符 数值 逻辑
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明