3.4.1 - 算术操作
Lua支持以下算术操作:
- +:加法
- -:减法
- *:乘法
- /:浮点除法
- //:整除
- %:模
- ^:幂
- -:一元运算,取负
除了幂和浮点除法之外,算术操作的工作流程如下:如果操作数都是整数,那么以整数操作且结果为整数。否则,如果操作数都是数字,那么以机器浮点算术规则(通常是IEEE 754标准)的流程操作,且结果是浮点数。(在算术运算中string库将字符串强制转换到数字;参见3.4.3。)
幂和浮点除法(/)通常会将它们的操作数转换到浮点数且结果也是浮点数。幂运算使用ISO标准C函数pow,所以它也适用于非整数幂。
整除(//)是指对操作数做除法后取整。
模的定义是指对操作数整除后取余。
对于整数算术操作出现溢出的情况,所有的操作都会回绕。