c语言位运算负数的实例_一招教你学会C语言中位运算
程序中的所有數(shù)在計(jì)算機(jī)內(nèi)存中都是以二進(jìn)制的形式儲(chǔ)存的。位運(yùn)算說穿了,就是直接對(duì)整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。注意,位運(yùn)算只針對(duì)于整數(shù)進(jìn)行操作。
運(yùn)算符號(hào)
運(yùn)算規(guī)則
1、&與運(yùn)算:對(duì)應(yīng)兩個(gè)二進(jìn)位均為1時(shí),結(jié)果位才為1,否則為0。(有假為假==0)
2、|或運(yùn)算:對(duì)應(yīng)的兩個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1,否則為0。(有真為真==1)
3、^ 異或運(yùn)算:對(duì)應(yīng)的二進(jìn)位不同時(shí)為1,否則為0。(不同為真==1,相同為假==0)
注意:(1)相同整數(shù)相^的結(jié)果是0.
(2)一個(gè)數(shù)^另一數(shù)兩次結(jié)果不變
(3)整數(shù)相^跟順序無關(guān)
4、~ 取反運(yùn)算:對(duì)整數(shù)的各二進(jìn)位進(jìn)行取反,包括符號(hào)位(0變1,1變0,真假互換)
5、<< 左移:把整數(shù)的各二進(jìn)位全部左移n位,高位丟棄(包括符號(hào)位),低位補(bǔ)0。
左移n位其實(shí)就是乘以2的n次方(但移動(dòng)后符號(hào)位變化除外,符號(hào)位改變則正負(fù)改變)
6、>> 右移:把整數(shù)的各二進(jìn)位全部右移n位,符號(hào)位不變。高位的空缺是正數(shù)補(bǔ)0;
是負(fù)數(shù)高位是補(bǔ)0或是補(bǔ)1 取決于編譯系統(tǒng)的規(guī)定;右移n位其實(shí)就是除以2的n次方
運(yùn)算符優(yōu)先級(jí)
C語言中位運(yùn)算符之間,按優(yōu)先級(jí)順序排列為:~、<>、&、^、|、&=、^=、|=、<<=、>>=。
小編給大家推薦一個(gè)學(xué)習(xí)氛圍超好的地方,C/C++交流企鵝裙:341636727!適合在校大學(xué)生,小白,想轉(zhuǎn)行,想通過這個(gè)找工作的加入。裙里有大量學(xué)習(xí)資料,有大神解答交流問題,每晚都有免費(fèi)的直播課程
位運(yùn)算作用
1、很多高級(jí)的動(dòng)態(tài)規(guī)劃題目或者一些基礎(chǔ)的運(yùn)算往往需要較高的執(zhí)行效率和較低的空間需求,或者需要表示一些狀態(tài)集合,而位運(yùn)算剛好能滿足這一切。
2、恰當(dāng)?shù)奈贿\(yùn)算使用也能使程序變得更加簡(jiǎn)潔和優(yōu)美。
位運(yùn)算簡(jiǎn)單應(yīng)用
【位運(yùn)算&應(yīng)用例子】
【位運(yùn)算|應(yīng)用例子】
【位運(yùn)算^應(yīng)用例子】
【位運(yùn)算~應(yīng)用例子】
總結(jié)
以上是生活随笔為你收集整理的c语言位运算负数的实例_一招教你学会C语言中位运算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: node2vec文献出处_社交网络分析(
- 下一篇: vue处理json数据的原理_Vue解析