- 按位或
- 按位與
- 按位異或
- 按位取反
- 左移右移
C語言位運算
有6種: &, | , ^(亦或), <<(左移), >>(右移)。
注意:參與(yu) 位運算的元素必須是int型或者char型,以補碼形式出現。
按位與(yu) &
&運算常應用於(yu) :
迅速清零
保留指定位
判斷奇偶性
a & 1 = 1;則a為(wei) 奇數
b & 1 = 0;則a為(wei) 偶數
按位或|
按位或(“|”)用途:設定數據的指定位
按位異或^
異或 就是位相同等於(yu) 零,相異等於(yu) 1
按位異或作用:
1.定位反轉
2.交換數值
//交換a和b的值
按位取反~
左移、右移
讓二進製左移N位,高位丟(diu) 棄,低位補0,得到的 新值 = 原值*2^N,
作用:實現二倍乘除運算(右移幾位相當於(yu) 除於(yu) 二的幾次方。左移幾位,相當於(yu) 乘上二的幾次方。)
問題:int是有符號類型,左移可能會(hui) 把符號左移出去,發生溢出。