当索引为 1 时,_BitScanReverse返回 0,这意味着根据 MS "no set bits were found"
_BitScanReverse returns 0 when index is 1 which means according to MS "no set bits were found"
直接从MSDN复制...
unsigned char _BitScanReverse(
unsigned long * Index,
unsigned long Mask
);
描述
从最高有效位 (MSB( 到最低有效位 (LSB( 的掩码数据中搜索设定位 (1(。
返回值
如果设置了索引,则为非零,如果未找到设置位,则为 0。
根据返回值描述,如果未找到设置位,则 Index=0。但是在掩码 = 1 的情况下会发生什么?运行MSDN文档中指令附带的示例代码,它也返回0,这使程序员感到困惑,因为他不知道是否"未找到设置位"或"索引等于1"。
我在这里理解了什么吗?
您误读了文档。返回值为 1 或 0,具体取决于mask
中是否有非零位。 设置位的索引以*Index
为单位返回。 不会产生混淆。
相关文章:
- 如何在MS Visual Studio 2019中运行QT UI
- OpenCV Android C++ imwrite not found
- 解决"ld: library not found for -ltensorflow_framework.2.3.0"
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- 处理"no operator found"
- 在C++中调用 MS SQL 存储过程
- MS Visual Studio 解决方案结合了非托管C++项目和 C# 项目
- C++初学者:为什么我的编译器根据我的循环返回"name not found"?
- _BitScanForward64 can not be found
- MS 本机单元测试 - 断言::线程失败不起作用
- 为什么我不能在同一 MS VS 解决方案中的两个控制台应用中使用C++特征(仅标头库)?
- 使用 MS 绕道挂钩在调用钩子函数时崩溃C++
- 使用提升 asio 时出现"resolve: Host not found (authoritative)"异常
- Windows Toast 通知不适用于 MS CPP 示例代码
- 无法编译 ms _tzSet() 示例
- 从现有源创建 MS Visual C++ DLL 项目
- 为什么 VScode 在 .h 文件中显示"'iostream' file not found"?
- 使用自定义 nodejs 插件时的"The specified module could not be found"
- sf::Windows上的音乐:api-ms-win-crt-locale-l1-1-0.dll:无法打开共享对象文件
- 当索引为 1 时,_BitScanReverse返回 0,这意味着根据 MS "no set bits were found"