def myfun(a):
c = 0
while a > 0:
a = a & (a - 1)
c += 1
return c
def myfun2(a):
c = 0
while a > 0:
b = a & 1
if b == 1:
c += 1
a = a >> 1
return c
def myfun3(x):
x = (0x55555555 & x) + ((0xaaaaaaaa & x)>>1)
x = (0x33333333 & x) + ((0xcccccccc & x)>>2)
x = (0x0f0f0f0f & x) + ((0xf0f0f0f0 & x)>>4)
x = (0x00ff00ff & x) + ((0xff00ff00 & x)>>8)
x = (0x0000ffff & x) + ((0xffff0000 & x)>>16)
return x
a = 7
c = myfun2(a)
print(c)
c = myfun(a)
print(c)
c = myfun3(a)
print(c)
判斷二進位製半整數(二進位制)
10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...
二進位制 二進位制中1的個數
題目 請實現乙個函式,輸入乙個整數,輸出該數二進位制表示中 1 的個數。例如,把 9 表示成二進位制是 1001,有 2 位是 1。因此,如果輸入 9,則該函式輸出 2。示例 1 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 0000000...
整數二進位制中1的個數
輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。如果是0,返回0 如果是正整數,除二取餘法 如果是負數 3.1 如果是 2147483648 int表示最大絕對值的負數 其補碼是1000 0000 0000 0000 0000 0000 0000 0000,故返回 1 3.2 其他...