爲什麼按位不是不按預期切換位?見下面的例子:Bit-wise NOT在Python中的含義
a = 5
print(bin(a))
b = ~a
print(bin(b))
這是輸出:
0b101
-0b110
的問題是,爲什麼從左邊第一位不反轉?
考慮到Python文檔說:
〜X返回x的補充 - 您可以通過切換各 1 0獲得數量和每個0爲1
編輯:你是說「〜」不是簡單切換位的操作符,而是兩個補碼的操作符? 如果是這樣,爲什麼從文檔中引用的句子沒有說明。 Pyhton文檔中的上述句子並不意味着這對我來說。
這兩個互補 –
注意'-'在-0b110'的'前。它無法向您展示一系列無窮大的'1's,它們向左延伸,因此它向您顯示'bin(abs(b))',前面帶有'-'符號。 – user2357112
序言 - https://wiki.python.org/moin/BitwiseOperators –