Erlang的运算符(比较运算符数值运算符移位运算符逻辑运算符).docx
文本预览下载声明
如果要比较两个数,如果两个数之间是不同的类型,比如float和int那么,==操作会首先把两个数字转换成相同的相同类型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的 = 这样写 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的 = 这样写
显示全部