關於按位運算符 ~ 的問題

爲什麼~12運算以後我們看到的是-13呢?

這其中計算機是自己運算過的。

首先12在計算機中是以二進制存在的 即 0000 1100

按位運算(按位運算就是每一位都取反)以後就變成 1111 0011 (此時變爲補碼 至於爲什麼 自行百度)

計算機給你顯示的時候只顯示原碼 所以計算機會把上邊運算完的再進行一次補碼運算(補碼的補碼就是原碼)

此時求補碼 符號位不變 10001101 (負數的補碼符號位不變,其餘位求反最後一位加一) 即 -13

依次盡力以下過程:

0000 1100 原碼

1111 0011 按位運算

10001101 爲了顯示求補碼

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章