n = (n & 3689348814741910323) + ((n & 14757395258967641292) >> 2)
n = (n & 1085102592571150095) + ((n & 17361641481138401520) >> 4)
n = (n & 71777214294589695) + ((n & 18374966859414961920) >> 8)
n = (n & 281470681808895) + ((n & 18446462603027742720) >> 16)
n = (n & 4294967295) + ((n & 18446744069414584320) >> 32)
return n
быстрый способ подсчета ненулевых битов в python