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