首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当索引为1时,_BitScanReverse返回0,这意味着根据MS“未找到设置位”

当索引为1时,_BitScanReverse返回0,这意味着根据MS“未找到设置位”
EN

Stack Overflow用户
提问于 2018-06-04 02:21:19
回答 1查看 246关注 0票数 0

直接从MSDN复制...

代码语言:javascript
运行
复制
unsigned char _BitScanReverse(  
   unsigned long * Index,  
   unsigned long Mask  
);  

描述

从最高有效位(MSB)到最低有效位(LSB)搜索掩码数据中的设置位(1)。

返回值

如果设置了索引,则为非零值;如果未找到设置位,则为或0。

根据返回值描述,如果未找到设置位,则执行Index=0。但是在掩码= 1的情况下会发生什么呢?运行MSDN文档中的指令附带的示例代码时,它还返回0,这使程序员感到困惑,因为他不知道是“没有找到设置位”还是“索引等于1”。

我是不是理解错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-04 02:30:29

您误读了文档。返回值为1或0,具体取决于mask中是否有非零位。设置位的索引在*Index中返回。不会产生混淆。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50669593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档