找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5770|回复: 4

请教下,驱动编程里面怎么作数值比较?

 火.. [复制链接]

4

主题

43

回帖

0

精华

铜牌会员

积分
85
发表于 2011-7-23 16:29:17 | 显示全部楼层 |阅读模式
比如
DWORD dwData=0x180402

if(dwData头2个数值 == 18)
{

  ...........
  执行语句
}

47

主题

265

回帖

8

精华

核心会员

积分
10349
发表于 2011-7-23 17:18:30 | 显示全部楼层
。。。。这个不只是驱动里的问题吧。
如果你不把DWORD分开高低位来用的话。谁知道你的头两位0x18会是出现在第几bit。。。

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2011-7-24 00:07:33 | 显示全部楼层
楼主的意思我理解,但是表达得很有问题。

  1. DWORD dwData=0x180402;
  2. USHORT tmp;
  3. memcpy(&tmp, &dwData, 2);
  4. if(tmp == 0x18)
  5. {
  6.   ...........
  7.   执行语句
  8. }
复制代码
下次再也别说“头2个数值”之类的话了。

4

主题

43

回帖

0

精华

铜牌会员

积分
85
 楼主| 发表于 2011-7-25 03:32:06 | 显示全部楼层
啊哈 我晕

我解决了

与LS一样

多谢各位了

2

主题

17

回帖

0

精华

初来乍到

积分
29
发表于 2011-12-21 10:57:22 | 显示全部楼层
if ((dwData >> 16) == 18)

">>"这个符号是什么意思啊{:soso_e132:}
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表