为掩码应用位向量

时间:2012-11-19 09:34:48

标签: c++ bitmask uint64

我想做一个简单的位掩码操作。让我们说

uint64_t a = 348659235483;

假设这个数字转换为二进制,我想从第6位到第12位提取值(0是右端的MSB)。那个最小的代码是什么?

二进制文件是

10100010010110110110101101/110101/0011011

所以我想保存110101

53

1 个答案:

答案 0 :(得分:4)

怎么样

uint64_t a = 348659235483;
uint64_t result = (a & 0x0fe0) >> 6;