如何取回长整数的两个组成部分
DWORDLONG index = ((((DWORDLONG) i.nFileIndexHigh) << 32) | i.nFileIndexLow);
给定索引,我想找出 i.fileindexhigh 和 i.fileindexlow 的组成部分。是否可以?一个总体的想法会很有帮助。
DWORDLONG index = ((((DWORDLONG) i.nFileIndexHigh) << 32) | i.nFileIndexLow);
Given index, I want to find out what the components of i.fileindexhigh and i.fileindexlow are. Is it possible? A general idea would be helpful.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,这是可能的,您只需要执行与您发布的内容相反的操作:而不是
<<
和|
,>> 和
&
,考虑研究按位运算,或者至少将计算器置于十六进制/二进制模式并使用掩码和移位。
Yes, its possible, you just need to do the inverse operation of what you posted: instead of
<<
and|
,>>
and&
,Consider researching on bitwise operations, or at least put your calculator in hexadecimal/binary mode and play with masks and shifts.
i.nFileIndexHigh == 索引>> 32;
i.nFileIndexLow == 索引 & 0x00000000FFFFFFFF;
i.nFileIndexHigh == index >> 32;
i.nFileIndexLow == index & 0x00000000FFFFFFFF;