我有一个大整数 a
和一个(相对较小的)整数 n
。
使用 native Python 获取 a
的二进制表示的第 n
位(从右边开始)的最快方法是什么?
最佳答案
将位移到最后一个位置,屏蔽掉其他所有内容:
bit = (a >> n) & 1
这假设位以通常的方式索引,即最低有效位是位 0。
编辑:我不确定这是否是在您的 Python 版本中最快的方式,但至少这是最直接的方式.根据您的 Python 版本和 a
和 n
的特定值,可能有更快的方法,如 answer by John Machin 所示。 .
关于python - 获取整数的第 n 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9298865/