Erlang运算符

1)算术运算符

  +:加  -:减  *:乘  /:除(结果为float类型)  div:整除  rem:整除取余 

  注意最后的结果都是二进制

  band是按位与运算  2#10 band 2#110.  》》  2

  bor是按位或运算  3#10 bor 2#100.  》》  7  3#10先转为2#11

  bxor是按位异或  2#10 bxor 2#11.  》》  1

  bsl按位左移  2#10 bsl 2  》》  8  2#1000

  bsr按位右移  2#10 bsr 2  》》  0 

 

2)比较运算符

  1.比较运算符的大小级别::number < atom < reference < fun < port < pid < tuple < list < bit string

 

  2.==等于  /=不等于  =<小于等于  <小于  >=大于等于  >大于  =:=精确的等于  =/=精确的不等于

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

  

  3.列表是按照字典顺序排列,就像是字典里面的词一样.第一个元素先比较,然后第二个元素再次比较.

  [a,b]<[d,e]   True

  [a,b]<[a,a]   Flase

  

  4.元素的比较是先比较元素的数目,然后在一个个比较各个元素

  {a,b}<{a,b,c} True

  {a,b}<{a,c}    True

 

3)逻辑运算符

  not:取反  and:全真为真,一假为假  or:一真为真,全假为假  xor:异或

  andalso与and以及orelse与or的区别:

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

  短路运算举例

  Express1 and Express2

  Express1 andalso Express2

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

 

4)数组运算

  最后还有个数组运算,++或者–,很简单

  1[1,2++ [3,4].

  [1,2,3,4]

  2[1,2-- [3,4].

  [1,2]

  3[1,2-- [1,4].

  [2]

  4[1,2++ [1,4].

  [1,2,1,4]

  5[1,2-- [1,2].

  []

posted @   Shay_黄  阅读(3968)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示