一言以蔽之:试探平台整数上限,并以此动态实现位运算中如bnot反转定长的问题,不用依赖定长bit了(负数补码)
如果你需要压缩代码,我们已经帮你准备好了,直接拿去用吧,见带
-min
的文件即可。
函数:band
对应A&B
函数:bor
对应A|B
函数:bxor
对应A~B
函数:bnot
对应~A
函数:lshift
对应A<<B
函数:rshift
对应A>>B
剩下未提供,自行解决,本库目的是解决Lua53之后定义了上述6个位运算指令在低版本Lua上等效依附平台(双精度浮点53位,整数32或者64位)实现位运算。
- 由于依附平台提供的整数上限,一些位运算结果看上去和你的bit32库计算结果并不一致,这是正确的,因为这是完全模拟高版本对应的位运算,设计目的是保证和它运算结果一致。
- 本工程创立原因仅是因为为了完成Lua虚拟化混淆降转的AttachLib,所以恕没实现其他位运算。