Lua程序设计(三)

通过昨天用Lua编程语言解决八皇后问题,我对于Lua语言的程序编写有了大致的了解。

今天开始了解Lua的数值相关概念。在Lua5.3中为数值格式提供了两种选择:一种为64位的integer类型,另一种则是双精度的float类型。如果是资源受限的平台,如单片机等我们可以使用精简的32位数值格式。

Lua5.3虽然给开发人员提供了整形类型转换为浮点数类型的方法,但是开发人员应当保证编程规范的统一性:要么忽略整型和浮点类型的不同,要么完整地控制每一个数值的表示。

Lua针对整型除法引入了一个新的运算符//floor, 该运算符将等到的商向负无穷取整。

标准的Lua程序语言使用64个比特位来存储整型值,其最大值为2^63-1. 数学库中提供了整形的最大值和最小值的表示方法: math.maxinteger 和 math.mininteger. 如果我们使用了超出该范围的整形值就会导致回环:即丢弃最高仅为。

math.maxinteger + 1 == math.mininteger --true
math.mininteger - 1 == math.maxinteger --true
-math.mininteger == math.mininteger --true
math.mininteger // 1 == math.mininteger -- true

通过与零进行按位或运算,可以把浮点值强制转换为整形值。在转换时, Lua会检测被转换的浮点数是否与整型值完全一致,若该浮点数有小数部分且其值不在整形值的表述范围内,就会抛出异常。

另一种转换方式则是使用 math.tointeger函数

表达式的运算符优先级Lua遵循传统的数学运算法则,故不做赘述。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值