首页 > 解决方案 > python的位操作中使用了多少位?

问题描述

Java 中的int数据类型有 32 位,因此当我们在 Java 中进行位操作时,它将以 32 位发生。但是对于整数数据类型在 Python 中是没有限制的,那么在 python 中位操作发生了多少位呢?

例如 java 中的 2 和 3 将以 32 位发生,即

0000 0000 0000 0000 0000 0000 0000 0010 & 0000 0000 0000 0000 0000 0000 0000 0011

但是对于python中的多少位也会发生同样的情况

IE。会是 10&11

0010&0011

或者是什么

标签: pythonintegerbit-manipulation

解决方案


如果我错了请纠正我

在 Python 3.1 之前,没有简单的方法来确定 Python 如何在内部表示特定整数,即使用了多少位。Python 3.1 向 int 类型添加了一个 bit_length() 方法,正是这样做的。

资源 https://wiki.python.org/moin/BitManipulation

x=7
y=30
print( (x|y).bit_length() )

输出:5


推荐阅读