gpt4 book ai didi

python - 如何通过位操作获得最后n位?

转载 作者:太空狗 更新时间:2023-10-30 02:28:37 25 4
gpt4 key购买 nike

我想得到最后n位的数字,例如:

num = 0b111111111
# if I want to get last 8 bits, it will be 0b11111111
# if I want to get last 2 bits, it will be 0b11

我认为这样可以:

bits = 1 << n
little = num & (~bits)

但这是错误的,如果 n = 8,它会得到 0b110111111

最佳答案

这个应该可以工作:

mask = (1 << n) - 1
little = num & mask

1 左移 n 在 1 后添加 n 零位:

>>> bin(0b1 << 4)
'0b10000'

如果您从中减去 1,您将得到一个具有 n 最后位设置的掩码:

>>> bin((0b1 << 4) - 1)
'0b1111'

关于python - 如何通过位操作获得最后n位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36124773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com