📅  最后修改于: 2023-12-03 14:44:04.958000             🧑  作者: Mango
Lua 是一个面向过程、函数式、面向对象的脚本语言。它内置了数字类型,支持整数、浮点数等多种数据类型。
Lua 内置的整数类型为 integer
。在 Lua 中,整数常量可以采用十进制、十六进制、八进制等多种形式表示。例如:
local a = 10 -- 十进制整数
local b = 0xA -- 十六进制整数
local c = 0o12 -- 八进制整数
Lua 采用了两种数据类型分别存储整数:包括 32 位 integer
和 64 位 lua_Integer
。在不同的平台上,这两种类型所占的字节数也不同。Lua 会自动选择最适合当前平台的整数类型。
Lua 内置的浮点数类型为 number
。与整数一样,Lua 中的浮点数常量可以直接使用十进制表示法。例如:
local a = 3.14 -- 浮点数
local b = 1.21e-3 -- 科学计数法表示的浮点数
浮点数常量中可以包含小数点、指数标记 e
或 E
,以及正负号。使用 e
或 E
表示指数时,后面的值表示 10 的多少次幂。
Lua 支持常见的数值运算符,包括加减乘除、取模、幂等操作。例如:
local a = 10
local b = 5
print(a + b) -- 15
print(a - b) -- 5
print(a * b) -- 50
print(a / b) -- 2.0
print(a % b) -- 0
print(a ^ b) -- 100000
Lua 还支持自增、自减操作:
local a = 10
a = a + 1 -- 等价于 a++
a = a - 1 -- 等价于 a--
为了更方便地进行高级数学计算,Lua 还提供了一些常用的数值库。这些库包括三角函数、指数函数、对数函数等,可以使用 math
模块进行访问。
下面是一些常用的数值函数及其示例用法:
-- 取绝对值
print(math.abs(-10)) -- 10
-- 取反
print(math.neg(10)) -- -10
-- 取余数
print(math.fmod(10,3)) -- 1
-- 计算 e 的幂
print(math.exp(1)) -- 2.0
-- 计算 x 的自然对数
print(math.log(10)) -- 2.302585
-- 计算以 2 为底的对数
print(math.log(10,2)) -- 3.321928
-- 计算 x 的平方根
print(math.sqrt(10)) -- 3.162278
-- 计算 x 的正弦值(x 度)
print(math.sin(math.rad(90))) -- 1.0
-- 计算 x 的反正弦值(-1 ≤ x ≤ 1)
print(math.asin(1)) -- 1.570796
-- 计算 x 的余弦值(x 度)
print(math.cos(math.rad(90))) -- 0.0
-- 计算 x 的正切值(x 度)
print(math.tan(math.rad(45))) -- 1.0
-- 计算 x 的角度的反正切值
print(math.atan(1)) -- 0.785398
本文介绍了 Lua 支持的整数和浮点数类型,以及常见的数值运算和数值函数。开发者可以根据实际需要选择合适的数值类型和函数进行使用。