关于VB中取高位及低位的函数?我看了半天也没看懂!

xx20031110 2004-11-11 11:55:39
取高位字节函数如下:(应该是正确的,摘在VB从入门到精通)
Private Function HiByte(ByVal wParam As Integer)
HiByte = wParam \ &H1 And &HFF&---------A
End Function

取低位字节函数如下:
Private Function LoByte(ByVal wParam As Integer)
LoByte = wParam And &HFF&
End Function
上面A行中的"\"号,我查VB方面的书,写是除号,即7\3=2(结果取除数),但如果"\"优先级大于"AND"的话,
那么用wPara除以 &H1(应该是16进制1) 那么还是 wParm 那它与下面的LoByte(取低位字节函数)不是一
样吗?
如果"AND" 优先级大于"\"那么 &H1 AND &HFF& = &HFF& =256(十六进制),wParam / 256 也不可能取高
位字节呀? 请赐教!
...全文
289 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
行云边 2004-11-11
  • 打赏
  • 举报
回复
由于 VB里 &H00FF 没有办法写出来 ,VB自动会变成 &HFF 把前面的00去掉了 也就是变成了&HFF00

建议使用 Not (&HFF00) 这样比较合理

Private Function HiByte(ByVal wParam As Integer)
HiByte = wParam And (Not (&HFF00))
End Function
aiur2000 2004-11-11
  • 打赏
  • 举报
回复
HiByte = wParam \ (&H1 or &HFF&)
aiur2000 2004-11-11
  • 打赏
  • 举报
回复
应该用or

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧