用VB进行移位操作
2008-02-23 06:57:27来源:互联网 阅读 ()
环左移的:
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上调试通过。)
上一篇: VB6内置的内码转换功能
下一篇: 如何在Windows操作系统中改变文件打开方式
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash