python中()的长度

Python019

python中()的长度,第1张

1 = 0b1 ->1

5 = 0b101 ->3

10 = 0b1010 ->4

100 = 0b1100100 ->7

1000 = 0b1111101000 ->10

如何获取整数的位长度,即在python中表示正整数所需的位数?

int.bit_length():返回用二进制表示整数所需的位数,不包括符号和前导零。docs.python.org/2/library/…

@其中一个是popcount(设置位的数目)。

在python 2.7+中,有一个int.bit_length()方法:

>>>a = 100

>>>a.bit_length()

7

>>>len(bin(1000))-2

10

>>>len(bin(100))-2

7

>>>len(bin(10))-2

4

一般应用场景都不用考虑这个大小,因为这个上限很高,需要用到这么多元素的list的时候,都需要考虑很多其它问题。

1,32位python的限制是 536870912 个元素。

2,64位python的限制是 1152921504606846975 个元素。