首页 > Erlang并发教程 > 3.26 Erlang并发编程-算术表达式
2013
11-06

3.26 Erlang并发编程-算术表达式

算术表达式

算术表达式由以下运算符构成:

运算符 描述 类型 操作数类型 优先级
+ X + X 单目 混合 1
- X - X 单目 混合 1
X * Y X * Y 双目 混合 2
X / Y X / Y(浮点除法) 双目 混合 2
X div Y X整除Y 双目 整数 2
X rem Y X除以Y的余数 双目 整数 2
X band Y XY的位与 双目 整数 2
X + Y X + Y 双目 混合 3
X - Y X - Y 双目 混合 3
X bor Y XY位或 双目 整数 3
X bxor Y XY的位算数异或 双目 整数 3
X bsl N X算数左移N 双目 整数 3
X bsr N X右移N 双目 整数 3

单目运算符有一个参数,双目运算符有两个参数。混合意味着参数即可以是integer 也可以是float。单目运算符的返回值与其参数类型相同。

双目混合运算符(即*-+)在参数都是integer时返回类型为integer的对象,在参数至少包含一个float时返回一个float。浮点除法运算符/总是返回一个float

双目整数运算符(即banddivremborbxorbslbsr)的参数必须是整数,其返回值也是整数。

求值顺序取决于运算符的优先级:首先计算第1优先级的运算符,然后是第2优先级,以此类推。括号内的表达式优先求值。

优先级相同的运算符从左到右进行求值。比如:

A - B - C - D

其求值顺序与下面的表达式一致:

(((A - B) - C) - D)

留下一个回复

你的email不会被公开。