VB6实现高效位运算的模块在图片中(右键另存为,改扩展名为rar)。提示生成exe时可以注释掉VBBitOperator.bas中DebugMode,这样生成exe后就会启动ShellCode指令进行硬件加速(注意IDE下不支持此项功能)。
VB6位操作说明前缀名称:
Shl 为逻辑左移,低位补0。
Shr 为逻辑右移,高位补0.
Sha 为算法右移,符号位不会变。
Rol 为循环左移,高低位互补(位移次数为负等于循环右移)
Ldexp 为浮点数缩放(位移次数为正数代表左移,负数代表右移),通过对浮点数的指数位加减或底数位位移(当指数位为0时),快速实现 X * 2 ^ Y。
Bswap 为字序交换,大小端互换(主要用于网络通信)。
Flt2Int 为浮点数重解释为整数,和CLng、CCur不同的是,此转换方式直接把浮点数内存数据转成整数,而不是对浮点数取整。
Int2Flt 为整数重解释为浮点数,和 Flt2Int 的作用刚刚相反后缀数字:
8 对8位(1字节)数操作(Byte)
16 对16位(2字节)数操作(Integer)
32 对32位(4字节)数操作(Long、Single)
64 对64位(8字节)数操作(Currency、Double)