幂运算

基本类型 / 数字 / 数学运算

local number = 8
local power = 3

-- ^ always gives a float, even for integers
local result1 = number ^ power
-- result1 = 512.0
local result1_type = math.type(result1)
-- result1_type = float

-- Back to an integer, if it is whole
local result2 = math.tointeger(result1)
-- result2 = 512

-- No modular pow(): take the remainder after
local result3 = result2 % 100
-- result3 = 12

-- A negative power gives a fraction
local result4 = number ^ -1
-- result4 = 0.125

-- ^ binds tighter than unary minus: -(2 ^ 2)
local result5 = -2 ^ 2
-- result5 = -4.0

print("result1 = " .. result1)
print("result1_type = " .. result1_type)
print("result2 = " .. result2)
print("result3 = " .. result3)
print("result4 = " .. result4)
print("result5 = " .. result5)