python 整數轉換

2021-10-24 07:01:37 字數 1204 閱讀 8186

整數轉換。編寫乙個函式,確定需要改變幾個位才能將整數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實現字串轉換整數

實現乙個函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整...