關於C語言的位運算符
- 2020 年 5 月 14 日
- 筆記
早期cpu架構在運行位運算時 略微領先 + – 運算 大幅領先 * / % 運算
‘&’ 運算符
總結 兩個二進制中對應的位置都為 1 結果的對應二進制為 1
‘&’運算符可以用到奇偶判斷中(二進制最低位為1 則一定是奇數 為0 一定是偶數)
‘|’運算符
總結 兩個二進制中對應的位置只要有一個1 結果的對應二進制為 1
‘|’運算符經常用於設置多個屬性
列如 createwindow 中 經常用到
‘^’運算符
總結 二進制對應位置不一樣 結果對應位置的二進制位1 反之為0
‘^’運算符可以用來判斷兩個數是否相等
兩個數一樣進行’^’運算 一樣就會返回0
‘~’運算符
總結 對應的位置 0變1 1變0 結果為負的了(這是計算機表示負數的一種方法 簡單來說就是 數值最前面有個符號位 ‘~’運算符取負後 把數值前面的符號位改了 就變成負的了)
‘~’運算符可以用與 求負數
也可以用來求int short long的最大最小值
‘>>’運算符
把二進制向 左,右 移動 x位(x可以為任何數) (但是大於 數據類型大小*8 位沒什麼意義)
一般可以用來求二進制的冪(要是計算機自帶3進制可以來求三進制的冪)