第章___位運(yùn)算

第章___位運(yùn)算

ID:39343331

大?。?55.00 KB

頁(yè)數(shù):20頁(yè)

時(shí)間:2019-07-01

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

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

1、本章的教學(xué)目標(biāo)掌握數(shù)值在計(jì)算機(jī)中表示用源碼、反碼、補(bǔ)碼;掌握如何求數(shù)值的源碼、反碼、補(bǔ)碼;掌握位運(yùn)算及其運(yùn)算符、位與、位或、異或、取反、左移、右移;熟悉位段的概念;第11章位運(yùn)算本章的教學(xué)重點(diǎn):位運(yùn)算符和位的邏輯運(yùn)算;位的復(fù)合運(yùn)算;位段的概念與運(yùn)用;本章的教學(xué)難點(diǎn):對(duì)位段的理解;重難點(diǎn)數(shù)值在計(jì)算機(jī)中的表示1.位(bit):是指二進(jìn)制中的位,它是計(jì)算機(jī)能 處理的最小單位。2.字節(jié)(byte):是計(jì)算機(jī)處理的基本單位。計(jì)算 機(jī)的內(nèi)存是按字節(jié)進(jìn)行分配的。一個(gè)字 節(jié)有八位二進(jìn)制數(shù)組成。所以我們?cè)贑語(yǔ) 言中

2、數(shù)據(jù)類型都是以字節(jié)為基本單元。3.補(bǔ)碼:一個(gè)正數(shù)的補(bǔ)碼是其本身;一個(gè)負(fù)數(shù)的 補(bǔ)碼是其絕對(duì)值按位取反后加1。計(jì)算 機(jī)是以補(bǔ)碼的形式存放數(shù)的。例如:-7的補(bǔ)碼是11111001位的運(yùn)算符一、位運(yùn)算的概念位運(yùn)算:以二進(jìn)制位為單位的運(yùn)算。二、位運(yùn)算符“位運(yùn)算”僅限于整數(shù)(整型數(shù)和字符型)。位邏輯運(yùn)算符(~、&、^、

3、)位移位運(yùn)算符(<<、>>)位復(fù)合賦值運(yùn)算符(&=、

4、=、^=、<<=、>>=)位邏輯運(yùn)算符~(按位求反)、&(按位與)、^(按位異或)、

5、(按位或)運(yùn)算規(guī)則:~1=0~0=10&0=00&1

6、=01&0=01&1=10^0=00^1=11^0=11^1=00

7、0=00

8、1=11

9、0=11

10、1=1例如:main(){unsignedchara,b;a=0x9d;b=0xa5;printf(“~a:%x”,~a);printf(“a&b:%x”,a&b);printf(“a

11、b:%x”,a

12、b);printf(“a^b:%x”,a^b);}輸出結(jié)果:~a:a&b:a

13、b:a^b:6285bd38位運(yùn)算及其運(yùn)算符1、按位與──&(1)格式:x&y(2)規(guī)則:對(duì)應(yīng)位均為1時(shí)才為

14、1,否則為0:3&9=1。例如,3&9=1:0011&1001────0001=1(3)主要用途:取(或保留)1個(gè)數(shù)的某(些)位,其余各位置0。2、按位或──

15、(1)格式:x

16、y(2)規(guī)則:對(duì)應(yīng)位均為0時(shí)才為0,否則為1:3

17、9=11。例如,3

18、9=11:0011

19、1001────1011=11 (3)主要用途:將1個(gè)數(shù)的某(些)位置1,其余各位不變。位運(yùn)算及其運(yùn)算符3、按位異或──^(1)格式:x^y(2)規(guī)則:對(duì)應(yīng)位相同時(shí)為0,不同時(shí)為1:3^9=10。(3)主要用途:使1個(gè)數(shù)的某(些)位翻轉(zhuǎn)

20、(即原來(lái)為1的位變?yōu)?,為0的變?yōu)?),其余各位不變。4、按位取反──~(1)格式:~x(2)規(guī)則:各位翻轉(zhuǎn),即原來(lái)為1的位變成0,原來(lái)為0的位變成1:在IBM-PC機(jī)中,~0=0xffff,~9=0xfff6。(3)主要用途:間接地構(gòu)造一個(gè)數(shù),以增強(qiáng)程序的可移植性。5、按位左移──<<(1)格式:x<<位數(shù)(2)規(guī)則:使操作數(shù)的各位左移,低位補(bǔ)0,高位溢出:5<<2=20位運(yùn)算及其運(yùn)算符6、按位右移──>>(1)格式:x>>位數(shù)(2)規(guī)則:使操作數(shù)的各位右移,移出的低位舍棄;高位:1)對(duì)無(wú)符號(hào)數(shù)

21、和有符號(hào)中的正數(shù),補(bǔ)0;2)有符號(hào)數(shù)中的負(fù)數(shù),取決于所使用的系統(tǒng):補(bǔ)0的稱為“邏輯右移”,補(bǔ)1的稱為“算術(shù)右移”。例如,20>>2=5。說(shuō)明:(1)x、y和“位數(shù)”等操作數(shù),都只能是整型或字符型數(shù)據(jù)。除按位取反為單目運(yùn)算符外,其余均為雙目運(yùn)算符。(2)參與運(yùn)算時(shí),操作數(shù)x和y,都必須首先轉(zhuǎn)換成二進(jìn)制形式,然后再執(zhí)行相應(yīng)的按位運(yùn)算。例如,5<<2=20:0101→10100,20>>2=5:10100→00101。例如:unsigneda=3;a<<2的十進(jìn)制值是:a>>1的十進(jìn)制值是:121說(shuō)明1

22、、復(fù)合賦值運(yùn)算符除按位取反運(yùn)算外,其余5個(gè)位運(yùn)算符均可與賦值運(yùn)算符一起,構(gòu)成復(fù)合賦值運(yùn)算符:&=、

23、+、^=、<<=、>>=例如:a&=b相當(dāng)于a=a&ba<<2相當(dāng)于a=a<<2(1)位運(yùn)算符中按位取反運(yùn)算符的優(yōu)先級(jí)最高,它比算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,邏輯運(yùn)算符和其他位運(yùn)算符都高。(2)位運(yùn)算符與賦值運(yùn)算符相結(jié)合可以組成復(fù)合的賦值運(yùn)算符。例如:&=<<=>>=^=(3)如果兩個(gè)類型長(zhǎng)度不同的數(shù)進(jìn)行位運(yùn)算,則需要進(jìn)行補(bǔ)位。如a&b,b為int型,a為long型。系統(tǒng)將二者右端對(duì)齊并對(duì)較短的數(shù)b進(jìn)行左

24、補(bǔ)位,如果b為正數(shù),則左側(cè)16位補(bǔ)滿0,如b為負(fù)數(shù),左端應(yīng)補(bǔ)滿1;如果b為無(wú)符號(hào)整型數(shù),則左側(cè)補(bǔ)滿0??偨Y(jié)位運(yùn)算符:【提出問(wèn)題】設(shè)計(jì)一個(gè)函數(shù),給出一個(gè)數(shù)的原碼,得到該數(shù)的補(bǔ)碼。分析:根據(jù)補(bǔ)碼的定義,一個(gè)正數(shù)的補(bǔ)碼等于該數(shù)的原碼,一個(gè)負(fù)數(shù)的補(bǔ)碼等于該數(shù)的反碼加1。假設(shè)a為16位整數(shù),則步驟為:(1)判別給定整數(shù)是正數(shù)還是負(fù)數(shù)。方法是:z=a&0x8000;若z等于0,則a為正數(shù);若為非0,則a為負(fù)數(shù)。(2)如果z非0,有z=~a+1+0x80000;否則z=a。(3)返回z。程序如下

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

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

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