3.5 LUA语言的位运算

Lua语言的位运算符包括“&”(按位与)、“|”(按位或)、“~”(按位亦或)、“>>”(右移)、“<<”(左移)、“~”(按位非)六种,具体见下表。按位亦或与按位非的运算符是相同的,但一个为二元运算符、一个为一元运算符,是一种重构。左移运算时,空位补零。右移运算时若移动的位数大于等于数据本身的位数(二进制),运算结果为0(数据位全部被移出)。左移、右移运算时的参数可以为负数,这样的情况下移动的方向会反转。位操作的数据类型可以为float,但会首先进行类型转换。在下图中给出了位运算的案例,可以加深理解。