一、定義
取反操作符是位運算符的中一個,作用是按位補運算符翻轉操作數的每一位。
二、舉例說明
正數:~(6) 6的二進制表示 0000 0110
按位取反 1111 1001 說明:在計算機中,正數用原碼表示,負數使用補碼存儲,
首先看最高位,最高位1表示負數,0表示正數。
此計算機二進制碼為負數,最高位為符號位。
根據補碼得到原碼,補碼-1:1111 1000
除最高位符號位外,其余位取反:1000 0111=-7
所以結果是~6=-7
負數:~(-6) -6的二進制表示 1000 0110 說明:在計算機中,負數使用二進制補碼存儲。
反碼 1111 1001
計算機中存儲的二進制補碼 1111 1010
~取反 0000 0101
所以結果是~(-6)=5
三、總結
在計算機中負數是按照二進制的補碼存儲的,所以當最高位為1的時候,其實這是負數的補碼,這一點很重要。