python - 获取整数的第 n 位

标签 python

我有一个大整数 a 和一个(相对较小的)整数 n

使用 native Python 获取 a 的二进制表示的第 n 位(从右边开始)的最快方法是什么?

最佳答案

将位移到最后一个位置,屏蔽掉其他所有内容:

bit = (a >> n) & 1

这假设位以通常的方式索引,即最低有效位是位 0。

编辑:我不确定这是否是在您的 Python 版本中最快的方式,但至少这是最直接的方式.根据您的 Python 版本和 an 的特定值,可能有更快的方法,如 answer by John Machin 所示。 .

关于python - 获取整数的第 n 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9298865/

相关文章:

python - 如何将 Python 程序的标准输出移至文件?

python - 需要一种将元信息/类添加到 python 列表/元组变量的简单方法吗?

python - 为自定义 QWidget 设置背景颜色

python - 优化类模拟代码?

python - 引发 RuntimeError ('You need to use the eventlet server. '

python - Windows 上的 os.stat()

python - 复合 SQL INSERT 语句

python - 如何从 python 2.7 中的三个列表创建矩阵列表?

python - 如何使用 Python 函数将多个值添加到键中

python - Python 中随机文本 w/r 的更快解决方案