整數轉換。編寫乙個函式,確定需要改變幾個位才能將整數a轉成整數b。
示例1:
輸入:a =
29 (或者0b11101), b =
15(或者0b01111)
輸出:2
示例2:
輸入:a =
1,b =
2 輸出:2
一、求a、b異或後1的個數;n&(n-1)可以講n最右邊出現的第乙個1變為0.
class
solution
:def
convertinteger
(self, a:
int, b:
int)
->
int:
tmp =
(a &
0xffffffff)^
(b &
0xffffffff
) cnt =
0while tmp:
tmp &
=(tmp -1)
cnt +=
1return cnt
二、python中整形是以 補碼 形式存放的,輸出的時候是按照 二進位制 表示輸出的,十進位制負數是原碼在前面加上乙個負號,因此需要先把負數轉化成補碼的形式,即&0xffffffff。
class
solution
:def
convertinteger
(self, a:
int, b:
int)
->
int:
return
bin(
(a&0xffffffff)^
(b&0xffffffff))
.count(
'1')
三、
class
solution
:def
convertinteger
(self, a:
int, b:
int)
->
int:
cnt =
0 c = a^b
for i in
range(32
):p =
(c>>i &1)
cnt += p
return cnt
Python 整數list轉換為數字
今天刷題,碰到了乙個需要將數字倒序輸出的問題。按照傳統方法,先用除10取餘的方法將其拆分為乙個乙個的數字,存到列表了 接著把list倒序排列 最後再用乘10的多少次冪的方法累加輸出。在python裡,將輸入數字轉化為字串後,用str 函式,倒序可以用reversed 函式,輔以list 可直接得到數...
字串轉換整數(python實現)
題目描述 請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連...
python實現字串轉換整數
實現乙個函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整...