理解 Python 的位元補碼運算子 (~)
為什麼 ~2 在 Python 中會產生 -3?位元補運算子 (~),通常表示為波形符,在位元運算中起著至關重要的作用。為了掌握其工作原理,讓我們深入研究二進制補碼表示的概念。
Python 中的負整數使用二進位補碼存儲,其中涉及反轉正數對應的二進位表示並加一。例如,-2 的二進位補碼的二進位表示為:
這是透過反轉二進位表示 (0000 0010) 的位元並加 1 來獲得的。前導位用作符號位,表示負值。
現在,我們來看看如何將補碼運算子應用到兩個導數上得到-3:
我們只需反轉這些位元兩個,導致反轉的表示。然而,這種反轉的表示恰好與 -3 的補碼表示對齊,即:
因此,將補碼運算子應用於 2 可以有效地提供 -3 的補碼表示。
需要注意的是,補碼運算子 (~) 僅翻轉數字的位元。這些位元的實際解釋取決於機器架構和使用它們的上下文。對於 Python 中的整數,機器根據負數的補碼表示來解釋反轉位元。
以上是為什麼 Python 中 `~2` 會產生 `-3`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!