找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
DWORD exter; //定义无符号32位数
exter=GetTagDWord("UDWORD");
SetTagBit("Bool",(exter&0x100));//7st bit
SetTagBit("Bool_8",(exter&0x1));//0st bit
以上执行都可以,Bool,Bool_8分别得到32位数据的第7和第0位数据状态;但我使用:
SetTagBit("Bool_16",(exter&0x1000000));//24st bit
SetTagBit("Bool_24",(exter&0x10000));//16st bit
获得32位数据的第24位和第16位的数据时却没任何反应,请高手解释下,或是可以有什么更好的办法??
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
每个人理解的第几位意思都不一样,你试试下面的程序:
int i;
DWORD dwValue;
BOOL bRet;
dwValue = GetTagDWord("dwTag");
//printf("\r\n%d",dwValue );
for (i=0;i<32;i++)
{
bRet = (dwValue & (long)pow(2.0,i))== (long)pow(2.0,i);
printf("\r\n第%d位为:%d",i ,bRet);
}
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城