位运算库
lua中的位运算由于数值类型是浮点型,所以支持效果不太好。
lua中利用一些位运算实现一些算法。如:左移相当于乘以2,右移相当于除以2.而对于按位与和按位或这两个概念则需要额外讨论了,这也是由于浮点型数值所带来的影响。
lua5.2中通过位库提供了位运算来修正这些影响,而不是lua中的预定义操作。这种接口设计表明lua中实现位运算不是直接针对lua的numbers,而是通过对lua的number执行特殊的操作(对位运算提供特殊的解释)来实现的。不仅如此,这种操作方式也支持使用其他的库来对位运算进行“解释”。
作者在这一章节的操作使用十六进制数据作为示例数据进行讲解,使用MAX代表0xFFFFFFFF,使用一些辅助函数:
- function prints(x)