c++ - 如何取回长整数的两个分量

标签 c++ algorithm bit-shift

 DWORDLONG index = ((((DWORDLONG) i.nFileIndexHigh) << 32) | i.nFileIndexLow);

给定索引,我想找出 i.fileindexhigh 和 i.fileindexlow 的组件是什么。是否可以?一个总体思路会有所帮助。

最佳答案

是的,这是可能的,你只需要对你发布的内容进行逆运算:而不是 <<| , >>& ,

nFileIndexLow = index & 0x00000000FFFFFFFF;
nFileIndexHigh = index >> 32;

考虑研究按位运算,或者至少将计算器置于十六进制/二进制模式并使用掩码和移位。

关于c++ - 如何取回长整数的两个分量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7490652/

相关文章:

c++ - 在 OpenGL 中使用不同的着色器程序?

确定文件身份的算法

javascript - 根据用户的输入匹配用户并从中选择一个

java - 像 C#/Java 这样的高级语言屏蔽移位计数操作数的原因是什么?

c++ - 当我包含诸如 <vector> 之类的类并且只使用它的 1 个或 2 个成员函数时,编译器会做什么?

c++ - 我如何使用 boost::test 和 xcode 4 来测试一些 ios c++ 代码?

c++ - 在导入 Foundation 的 objective-c 文件上运行 Clang-query

algorithm - 如何从 2 个列表中确定最佳组合

c - C 中位级别的显式类型转换

algorithm - 查找给定二进制数字设置为 0 的第 N 个数字