Skip to content

3.4.1 - 算术操作

Lua支持以下算术操作:

  • +:加法
  • -:减法
  • *:乘法
  • /:浮点除法
  • //:整除
  • %:模
  • ^:幂
  • -:一元运算,取负

除了幂和浮点除法之外,算术操作的工作流程如下:如果操作数都是整数,那么以整数操作且结果为整数。否则,如果操作数都是数字,那么以机器浮点算术规则(通常是IEEE 754标准)的流程操作,且结果是浮点数。(在算术运算中string库将字符串强制转换到数字;参见3.4.3。)

幂和浮点除法(/)通常会将它们的操作数转换到浮点数且结果也是浮点数。幂运算使用ISO标准C函数pow,所以它也适用于非整数幂。

整除(//)是指对操作数做除法后取整。

模的定义是指对操作数整除后取余。

对于整数算术操作出现溢出的情况,所有的操作都会回绕