1. 程式人生 > >二進位制簡單位運算

二進位制簡單位運算

位運算的基本運算子有:&(按位與)  |(按位或)  ^(異或)  <<(左移)  >>(右移) ~(求反)

對於異或運算子(^):只有不一樣時才為真 ,一樣的時候為假。

左移右移:若將一個數擴大2^n倍,最簡單的辦法是將該數二進位制左移n位。左移的時候右邊補0,右移的時候左邊補符號位,即左邊空出的位用0或者1填補。正數用0填補,負數用1填補。

按位與:同為1才為1,其餘(00.01.10)都為0

按位或:有一個為1都為1.


求反運算:對參與運算的數的各二進位按位求反。資料在記憶體中存放,同時二進位制是以補碼的形式在記憶體中存放,另外,正數補碼,反碼都是本身,在二進位制中儲存每個數都有一個符號位。

例如8,就是01000,第一個0代表符號位,0代表正,1代表負,

將8求反運算時,正確步驟應該是:

1.將8正常取反(0變成1,1變成0)得10111

2.由第1步得到的二進位制數減去1,得到10110,

3.符號位不變,別的位取反,得到11001,也就是-9