2019-10-15 python中的按位取反

python中的按位取反符號為 ~

定義一個變量為 a=60

在做~a時候,需要經(jīng)歷以下步驟:

1)轉(zhuǎn)換為2進(jìn)制: ?? 0011 1100 (第一位是符號位,0表示正數(shù),1表示負(fù)數(shù))

2)計算補(bǔ)碼: ? ? ? ?? 0011 1100(正數(shù)的補(bǔ)碼不變,負(fù)數(shù)的話,除去符號位,其他按位取反,最后加1)

3)按位取反操作: ? 1100 0011

4)轉(zhuǎn)換為原碼: ? ? ? 1011 1101(補(bǔ)碼的補(bǔ)碼就是原碼)

5)轉(zhuǎn)換為10進(jìn)制: ?? -60


這里補(bǔ)充一下其他的位運算:

& 按位與 ? ? ? ? ?? 都是1就是1

|? 按位或 ? ? ? ? ?? 只要有一個1 就是1

^ 按位異或 ? ? ? ? 只有不同才為1

<< 按位左移 ? ? ?? 按位將1左移(a<<2的結(jié)果就是240)

>> 按位右移 ? ? ?? 按位將1右移(a>>2的結(jié)果就是15)


還有一些非符號的運算符:

舉例a =10 ,b =5

邏輯運算符:

and ? ? ? ? ? ? ? ? ? 返回值:如果a是False則返回False,否則返回b的計算值。

or ? ? ? ? ? ? ? ? ? ?? 返回值:如果a是非0,則返回a的值,否則返回b的值。

not ? ? ? ? ? ? ? ? ?? 返回值:如果a為True返回False,如果a為False返回True。

成員運算符:

用來描述是否在某個序列中

in ? ? ? ? ? ? ? ? ? ? ? ?

not in

身份運算符:

is 是判斷兩個標(biāo)識符是不是引用自一個對象,x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False

is

not is

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容