按位取反是什麼?

首先看等號左邊
(100) 的二進制表示爲: 0110 0100
按位取反的意思就是每一位取反,0變1,1變0
所以:
~100 的二進制表示爲:1001 1011
所以等號左邊=1001 1011
再看右邊
-101. 一旦看到出現負數,那麼這個數一定是按有符號數的規則來表示的。一個二進制數 按位取反並加一以後就可以得到它自己的負數的補碼,也就是說:
~x+1=-x
所以,我們把101按位取反加一
先取反:
~101=10011010
再加一:
~101+1=10011011=-101
所以等號右邊=10011011=左邊,所以等號成立。
P.S:補充一句,計算機內存裏的邏輯存儲位是非常複雜的,我這裏即使講得再清楚也無法保證你完全明白。
一般來說,彙編語言的書的開頭部分會詳細講解這部分知識以服務於彙編語言,請參閱之。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章