小编Ska*_*nda的帖子

在n LSBits之后清除m位的掩码

我在接受采访时被问到这个问题,在16位整数的n位之后清除m位.

可以说这个数字是10010010010100101.从LSBit中清除5位后的三位.

之前:10011001 110 11001之后:10011001 000 11001

我的面具解决方案是 (~0 << (m+n))+((1<<n)-1)

有没有比这更好的解决方案?

c c++ bit-manipulation bit

4
推荐指数
1
解决办法
176
查看次数

标签 统计

bit ×1

bit-manipulation ×1

c ×1

c++ ×1