【发布时间】:2018-12-20 06:47:39
【问题描述】:
我目前有一个 64 位的无符号整数,其中包含:
0100
0100
0100
0100
0000...
我会把它改成:
01000
01000
01000
01000
00000...
有没有办法做到这一点?
谢谢
【问题讨论】:
-
真的很难说出你的要求 - 那些应该是你的 uint 的前 5 个半字节,其余的都是 0?如果是这样,我会提取 16 个半字节,将每一位向左移动并重新组合。
-
我不能这样做,因为它是几何形状的表示。当该位设置为 0 时,什么都没有,当该位设置为 1 时,有一些东西
-
您是否在可访问现代指令的现代硬件上执行此操作? Haswell(和更新的)和 Ryzen 有
PDEP可以做到这一点
标签: bit-manipulation bitwise-operators bit