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