关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> Vb -> 文件文字 ->详细
相关内容  
 
 
在Delphi程序中应用IE浏览器控件
 
【新品推荐】

  详细内容
 

用VB进行移位操作
作者: 黄光 评价: 上站日期: 2001-09-01
内容说明:
来源:

   
  VB没有提供移位操作的指令和函数,只提供and(与)、or(或)、xor(异或)、eqv(同或)、not(非)等几个运算符,而编程时有时需要对一个字节进行移位操作(如进行加密),怎么办?其实只用and、or二个运算符即可搞掂。例如要将变量byte1的第八位置1(假设byte1的二进制值为01001101),则只需byte1 or &h80 (即01001101 or 10000000),如要将第八位置0,则只需byte1 and &h7f。请看下面程序段是如何实现循
  环左移的:
  
  Public Function byteleft(byte1 As Byte, n As Integer) As Byte `将byte1左移n位
  Dim intem As Byte `临时变量
  Dim intem1 As Byte `临时变量
  Dim x, y As Integer
  intem1 = byte1
  For x = 1 To n `移多少位就循环多少次
  For y = 8 To 1 Step -1 `从第八位(左边第一位)开始循环左移
  Select Case y
  Case 8
  If (intem1 And &H80) = &H80 Then `如果临时变量intem1的第八位是1,
  intem = &H1 `则将临时变量intem置1,
  Else
  intem = &H0 `反之置0
  End If
  Case 7
  If (intem1 And &H40) = &H40 Then `如果临时变量intem1的第七位是1,
  intem1 = intem1 Or &H80 `则将其第八位置1(其它位不变),
  Else
  intem1 = intem1 And &H7F `反之将第八位置0(其它位不变)
  End If
  Case 6
  If (intem1 And &H20) = &H20 Then `操作与上面相同
  intem1 = intem1 Or &H40
  Else
  intem1 = intem1 And &HBF
  End If
  Case 5
  If (intem1 And &H10) = &H10 Then
  intem1 = intem1 Or &H20
  Else
  intem1 = intem1 And &HDF
  End If
  Case 4
  If (intem1 And &H8) = &H8 Then
  intem1 = intem1 Or &H10
  Else
  intem1 = intem1 And &HEF
  End If
  Case 3
  If (intem1 And &H4) = &H4 Then
  intem1 = intem1 Or &H8
  Else
  intem1 = intem1 And &HF7
  End If
  Case 2
  If (intem1 And &H2) = &H2 Then
  intem1 = intem1 Or &H4
  Else
  intem1 = intem1 And &HFB
  End If
  Case 1
  If (intem1 And &H1) = &H1 Then
  intem1 = intem1 Or &H2
  Else
  intem1 = intem1 And &HFD
  End If
  If intem = &H1 Then `移完第一位后,如果intem是1(即第八位是1)
  intem1 = intem1 Or &H1 `则将intem1的第一位置1
  Else
  intem1 = intem1 And &HFE `反之置0
  End If
  End Select
  Next y
  Next x
  byteleft = intem1 `将intem1的值返回给函数名
  End Function
  参照此程序段,不难实现循环右移。
  (此程序段在VB5上调试通过。)
   

 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> Vb -> 文件文字 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0