如何取回长整数的两个组成部分

发布于 2024-12-06 01:09:23 字数 185 浏览 0 评论 0原文

 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凡间太子 2024-12-13 01:09:23

是的,这是可能的,您只需要执行与您发布的内容相反的操作:而不是 <<|>> 和 &

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

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

Yes, its possible, you just need to do the inverse operation of what you posted: instead of << and |, >> and &,

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

Consider researching on bitwise operations, or at least put your calculator in hexadecimal/binary mode and play with masks and shifts.

笑看君怀她人 2024-12-13 01:09:23

i.nFileIndexHigh == 索引>> 32;
i.nFileIndexLow == 索引 & 0x00000000FFFFFFFF;

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文