C語言位運算
有6種: &, | , ^(亦或), <<(左移), >>(右移)。
注意:參與位運算的元素必須是int型或者char型,以補碼形式出現(xiàn)。
按位與&
&運算常應(yīng)用于:
迅速清零
保留指定位
判斷奇偶性
a & 1 = 1;則a為奇數(shù)
b & 1 = 0;則a為偶數(shù)
按位或|
按位或(“|”)用途:設(shè)定數(shù)據(jù)的指定位
按位異或^
異或 就是位相同等于零,相異等于1
按位異或作用:
1.定位反轉(zhuǎn)
2.交換數(shù)值
//交換a和b的值
按位取反~
左移、右移
讓二進制左移N位,高位丟棄,低位補0,得到的 新值 = 原值*2^N,
作用:實現(xiàn)二倍乘除運算(右移幾位相當(dāng)于除于二的幾次方。左移幾位,相當(dāng)于乘上二的幾次方。)
問題:int是有符號類型,左移可能會把符號左移出去,發(fā)生溢出。
-
C語言
+關(guān)注
關(guān)注
180文章
7594瀏覽量
135862
原文標題:C語言位運算+實例講解
文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論