728x90
bit_length
이진수로 정수를 나타내는 데 필요한 비트 수 반환 (버전 3.1에 추가)
n = -37
bin(n) # -0b100101
n.bit_length() # 6
x 가 0이 아니면, x.bit_length() 는 2**(k-1) <= abs(x) < 2**k 를 만족하는 유일한 양의 정수 k 입니다.
동등하게, abs(x) 가 정확하게 반올림된 로그값을 가질 만큼 아주 작으면, k = 1 + int(log(abs(x), 2)) 가 됩니다.
x 가 0이면, x.bit_length() 는 0 을 돌려줍니다.
bit_count
정수 절대값의 이진 표현에서 1의 수를 반환 (버전 3.10에 추가)
n = 19
bin(n) # 0b10011
n.bit_count() # 3
def bit_count(self):
return bin(self).count("1")
728x90