打印本文 打印本文 关闭窗口 关闭窗口
巧用Win32 API函数增强VB位操作功能
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2059  更新时间:2009/4/23 15:03:32  文章录入:mintao  责任编辑:mintao

  Integer类型的移位也可以用查表法,移位表占用 65535  15  2  2 个字节的内存空间。

  移位表数组定义如下:
  aSHLW(0 to &Hffff&,1 to 15) as integer'单字的左移表

  aSHRW(0 to &Hffff&,1 to 15) as integer'单字的右移表

  注意:Integer是有符号类型,造表的时候要用它的无符号值来造表,同样查表的时候也要用它的无符号值来查表。(因为数组下标是不允许负数的。)

  求Integer类型无符号值的方法是:(Int and &hFFFF&),注意,不等同于CLng(Int)

  遗憾的是,Long类型无法造表,因为Long类型的值的范围是 4 GB,如果对它造表,那么表的大小就会超出总的内存地址空间。

  查表移位的代码请参见本文附带的代码,这里就不给出了。

三 结语

  要想实现本文所述的那些位操作函数其实有很多方法,本文所用的方式未必是最好的,主要是为了提供一种解决问题的思路:在编程过程中遇到难以解决的问题时,想一想能不能把大问题分解成能解决或已解决的小问题,这就是“分而治之”的策略。因笔者水平有限,本文难免会有疏漏和不足之处,欢迎批评指正,有意见或建议给我发电子邮件liuqi5521@sina.com

  本程序在 Win2000+VB6.0下调试通过。 

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口