首先看等號左邊
(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:補充一句,計算機內存裏的邏輯存儲位是很是複雜的,我這裏即便講得再清楚也沒法保證你徹底明白。
通常來講,彙編語言的書的開頭部分會詳細講解這部分知識以服務於彙編語言,請參閱之。內存