Skip to content

一言以蔽之:试探平台整数上限,并以此动态实现位运算中如bnot反转定长的问题,不用依赖定长bit了(负数补码)

License

Notifications You must be signed in to change notification settings

nwdxlgzs/LuaPlatformBitOperationLib

Repository files navigation

LuaPlatformBitOperationLib

一言以蔽之:试探平台整数上限,并以此动态实现位运算中如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,所以恕没实现其他位运算。

About

一言以蔽之:试探平台整数上限,并以此动态实现位运算中如bnot反转定长的问题,不用依赖定长bit了(负数补码)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages