>右移2&按位與3^按位異或4|">
15第15章位運(yùn)算第15章位運(yùn)算

15第15章位運(yùn)算第15章位運(yùn)算

ID:37169894

大?。?8.00 KB

頁數(shù):6頁

時(shí)間:2019-05-21

15第15章位運(yùn)算第15章位運(yùn)算_第1頁
15第15章位運(yùn)算第15章位運(yùn)算_第2頁
15第15章位運(yùn)算第15章位運(yùn)算_第3頁
15第15章位運(yùn)算第15章位運(yùn)算_第4頁
15第15章位運(yùn)算第15章位運(yùn)算_第5頁
資源描述:

《15第15章位運(yùn)算第15章位運(yùn)算》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第15章位運(yùn)算主講人:成江湖學(xué)長電話:13975026749QQ:16347548C語言中,位運(yùn)算的對象只能是整型或字符型,不能是其他類型的數(shù)據(jù)。15.1位運(yùn)算符運(yùn)算符含義優(yōu)先級~按位求反1(高)<<左移2>>右移2&按位與3^按位異或4

2、按位或5(低)說明:只有求反運(yùn)算符(~)為單目運(yùn)算符,其余均為雙目運(yùn)算符。各雙目運(yùn)算符與賦值運(yùn)算符結(jié)合可以組成擴(kuò)展的賦值運(yùn)算符擴(kuò)展運(yùn)算符表達(dá)式等價(jià)的表達(dá)式<<=a=<<2a=a<<2>>=b=>>2b=b>>2&=a&=ba=a&b^=a^=ba=a^b

3、=a

4、=ba=a

5、b15.2

6、位運(yùn)算符的運(yùn)算功能1、“按位取反”運(yùn)算運(yùn)算功能:把運(yùn)算對象的內(nèi)容按位取反,即,使每一位上的0變1,1變0例如:~0115先把八進(jìn)制115轉(zhuǎn)換成二進(jìn)制001001101,因?yàn)橐粋€(gè)字節(jié)有八位,所以舍去一個(gè)前置0后為二進(jìn)制為01001101求反后二進(jìn)制為:10110010,最后轉(zhuǎn)化為八進(jìn)制為02622、“左移”運(yùn)算左移時(shí),右端(低位)補(bǔ)0;左端(高位)移出的部分舍棄例如:chara=6,b;b=a<<1;十進(jìn)制a=6轉(zhuǎn)化為二進(jìn)制為:110,因?yàn)橐粋€(gè)字節(jié)有八位,所以前面要補(bǔ)0,所以為00000110左移1位后為:0000110

7、0轉(zhuǎn)換為十進(jìn)制為12說明:1)左移時(shí),若左端移出的部分不包含有效二進(jìn)制1,則每左移一位,相當(dāng)于移位對象乘以2.2)做位運(yùn)算時(shí),速度快,所以有時(shí)用左移代替乘法運(yùn)算,以加快運(yùn)算速度。3)如果左端移出的部分包含有效二進(jìn)制數(shù)1,移位對象乘以2的特性就不適用了。例如:chara=64,b;b=a<<2;十進(jìn)制a=64轉(zhuǎn)化為二進(jìn)制為:1000000,因?yàn)橐粋€(gè)字節(jié)有八位,所以前面要補(bǔ)0,所以為01000000左移二位后為:00000000轉(zhuǎn)換為十進(jìn)制為0注意:a的值沒有變3、“右移”運(yùn)算右移時(shí),右端(低位)移出的二進(jìn)制數(shù)舍棄,左端(

8、高位)移入的二進(jìn)制數(shù)分兩種情況:對于無符號整數(shù)和正整數(shù),高位補(bǔ)0,對于負(fù)整數(shù),高位補(bǔ)1。這是因?yàn)樨?fù)數(shù)在機(jī)器內(nèi)均用補(bǔ)碼表示所致。例如:shortinta=-8,b;b=a>>2;a=-8因?yàn)閍為shortint型數(shù)據(jù),用二個(gè)字節(jié)來存儲,所以a的原碼為1000000000001000,a的反碼為1111111111110111,a的補(bǔ)碼為:1111111111111000,右移二位后為1111111111111110轉(zhuǎn)化為十進(jìn)制為-2說明:1)右移時(shí),若右端移出部分不包含有效數(shù)字1,則每右移一位相當(dāng)于移位對象除以2。2)做

9、位運(yùn)算時(shí),速度快,所以有時(shí)用右移代替除法運(yùn)算,以加快運(yùn)算速度。3)如果右端移出的部分包含有效二進(jìn)制數(shù)1,移位對象除以2的特性就不適用了。4、“按位與”運(yùn)算運(yùn)算符&的作用:把參加運(yùn)算的兩個(gè)運(yùn)算數(shù)按對應(yīng)的二進(jìn)制位分別進(jìn)行“與”運(yùn)算,即兩個(gè)相應(yīng)的位都為1時(shí),該位的結(jié)果為1,否則為0例如:12&1012:0000110010:00001010&:00001000轉(zhuǎn)化為十進(jìn)制為8說明:任何位上的二進(jìn)制數(shù),只要和0“與”,該位即被屏蔽(清零);和1“與”,該位保留原值不變。例如:Chara=0322轉(zhuǎn)換為二進(jìn)制為11010010若

10、要保留a的第五位,只要和00010000(020)這樣的數(shù)做“與”運(yùn)算即可5、“按位異或”運(yùn)算“按位異或”運(yùn)算的規(guī)則是:參與運(yùn)算的兩個(gè)運(yùn)算數(shù)中相對應(yīng)的二進(jìn)制位上,若數(shù)相同,則該位的結(jié)果為0;若數(shù)不同,則該位的結(jié)果為1。例如:00110011八進(jìn)制06311000011八進(jìn)制0303^11110000八進(jìn)制0360說明:和1進(jìn)行異或運(yùn)算,則使某位的數(shù)進(jìn)行翻轉(zhuǎn);和0進(jìn)行異或運(yùn)算,則使某位保持原數(shù)。chara=0152a的高四位不變,低四位取反000011110152:01101010017:00001111^:011001

11、01八進(jìn)制:01456、“按位或”運(yùn)算“按位或“運(yùn)算規(guī)則:參加運(yùn)算的兩個(gè)運(yùn)算數(shù)中,只要兩個(gè)相應(yīng)的二進(jìn)制位中有一個(gè)為1,該位的運(yùn)算結(jié)果即為1;只有當(dāng)兩個(gè)相應(yīng)位的數(shù)都為0時(shí),該位的運(yùn)算結(jié)果才為0。0123:01010011014:00001100

12、:01011111八進(jìn)制0137說明:“按位或“可以使一個(gè)數(shù)中的指定位上置成1,其它位不變,要置1與1做“或”運(yùn)算,保持不變的與0做“或“運(yùn)算即可例如:想使a的高四位不變,低四位置1我們只要與00001111(八進(jìn)制為017)做“或運(yùn)算即可“7、位數(shù)不同的運(yùn)算之間的運(yùn)算規(guī)則1)先

13、將兩個(gè)運(yùn)算數(shù)右端對齊2)再將位數(shù)短的一個(gè)運(yùn)算數(shù)往高位擴(kuò)充,即:無符號數(shù)和正整數(shù)左側(cè)用0補(bǔ)全,負(fù)數(shù)左側(cè)用1補(bǔ)全,然后對位數(shù)相等的這兩個(gè)運(yùn)算數(shù)進(jìn)行位運(yùn)算。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。