時間:2018-08-12 00:00:00 來源:信盈達 作者:信盈達
程序中的所有數(shù)在計算機內(nèi)存中都是以二進制的形式儲存的。位運算說穿了,就是直接對整數(shù)在內(nèi)存中的二進制位進行操作。注意,位運算只針對于整數(shù)進行操作。
運算符號
運算規(guī)則
1、&與運算:對應(yīng)兩個二進位均為1時,結(jié)果位才為1,否則為0。(有假為假==0)
2、|或運算:對應(yīng)的兩個二進位有一個為1時,結(jié)果位就為1,否則為0。(有真為真==1)
3、^ 異或運算:對應(yīng)的二進位不同時為1,否則為0。(不同為真==1,相同為假==0)
注意:(1)相同整數(shù)相^的結(jié)果是0.
(2)一個數(shù)^另一數(shù)兩次結(jié)果不變
(3)整數(shù)相^跟順序無關(guān)
4、~ 取反運算:對整數(shù)的各二進位進行取反,包括符號位(0變1,1變0,真假互換)
5、<< 左移:把整數(shù)的各二進位全部左移n位,高位丟棄(包括符號位),低位補0。
左移n位其實就是乘以2的n次方(但移動后符號位變化除外,符號位改變則正負改變)
6、>> 右移:把整數(shù)的各二進位全部右移n位,符號位不變。高位的空缺是正數(shù)補0;
是負數(shù)高位是補0或是補1 取決于編譯系統(tǒng)的規(guī)定;右移n位其實就是除以2的n次方
運算符優(yōu)先級
C語言中位運算符之間,按優(yōu)先級順序排列為:~、<<、>>、&、^、|、&=、^=、|=、<<=、>>=。
位運算作用
1、很多高級的動態(tài)規(guī)劃題目或者一些基礎(chǔ)的運算往往需要較高的執(zhí)行效率和較低的空間需求,或者需要表示一些狀態(tài)集合,而位運算剛好能滿足這一切。
2、恰當(dāng)?shù)奈贿\算使用也能使程序變得更加簡潔和優(yōu)美。
位運算簡單應(yīng)用
【位運算&應(yīng)用例子】
【位運算|應(yīng)用例子】
【位運算^應(yīng)用例子】
【位運算~應(yīng)用例子】
【位運算<<應(yīng)用例子】
信盈達2008年在深圳特區(qū)南山高新科技園成立。自成立至今近九年來專注為企業(yè)和個人提供高端方案設(shè)計、高端嵌入式/Android培訓(xùn)等服務(wù)。公司下設(shè)信盈達實訓(xùn)學(xué)院、信盈達研發(fā)中心、信盈達教學(xué)儀器三大業(yè)務(wù)板塊。九年來公司堅持"技術(shù)領(lǐng)先、服務(wù)領(lǐng)先",以雄厚的實力和專業(yè)的品質(zhì)成為國內(nèi)唯一有實力從產(chǎn)品最底層研發(fā)到系統(tǒng)層開發(fā)的嵌入式實訓(xùn)、產(chǎn)品解決方案提供商。為中國IT行業(yè)提供最具價值的職業(yè)教育服務(wù)。專業(yè)培訓(xùn)i嵌入式、物聯(lián)網(wǎng)、人工智能、Java、單片機等課程,想了解更多信息點擊立馬咨詢
免費領(lǐng)取試聽卡
申請已經(jīng)提交
老師會馬上給您安排試聽課程!
申請出錯了
您可以加老師QQ:914865590報名咨詢!