Bit length of a positive integer in Python

后端 未结 7 2068
隐瞒了意图╮
隐瞒了意图╮ 2020-12-13 05:47
1 = 0b1 -> 1
5 = 0b101 -> 3
10 = 0b1010 -> 4
100 = 0b1100100 -> 7
1000 = 0b1111101000 -> 10
…

How can I get the bit length of an int

7条回答
  •  情深已故
    2020-12-13 06:32

    Here we can also use slicing.

    For positive integers, we'd start from 2:

    len(bin(1)[2:])
    len(bin(5)[2:])
    len(bin(10)[2:])
    len(bin(100)[2:])
    len(bin(1000)[2:])
    

    which would print:

    1
    3
    4
    7
    10
    

    For negative integers, we'd start from 3:

    len(bin(-1)[3:])
    len(bin(-5)[3:])
    len(bin(-10)[3:])
    len(bin(-100)[3:])
    len(bin(-1000)[3:])
    

    which would print:

    1
    3
    4
    7
    10
    

提交回复
热议问题