热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

如果要比较两个数,如果两个数之间是不同的类型,比如float和int那么,操作会首先把两个数字转换成相同的相同类型
Erlang的比较运算符

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

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

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

比较运算符的大小级别:

number
3> 1 > a.

false

opDescriptionArgument type+
number-
number+
number-
number*
number/浮点数除法,结果是浮点数numberbnot一元not运算符integerp整数除法,结果是整数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的 "=<" 这样写
推荐阅读
author-avatar
我确实是一只猪_143_267
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有