計(jì)算機(jī)課件13位運(yùn)算_第1頁(yè)
計(jì)算機(jī)課件13位運(yùn)算_第2頁(yè)
計(jì)算機(jī)課件13位運(yùn)算_第3頁(yè)
計(jì)算機(jī)課件13位運(yùn)算_第4頁(yè)
計(jì)算機(jī)課件13位運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

注汰法:英訣:女:沐逐沐美沐沐泱沐米淡淡沐訣族&*浜逐渙逐法漲沐逐淡:渙沐沐差二:4

第一章

第二章C語(yǔ)言概述

第三章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

第四章最簡(jiǎn)單的C程序設(shè)計(jì)

第五章邏輯運(yùn)算和判斷選取控制

章循環(huán)控制

第六

第七數(shù)組

第八函數(shù)

第九編譯預(yù)處理

第十指針

第十章結(jié)構(gòu)體與共用體

第十三章文件的基本操作

位運(yùn)算

?L

§13-1位運(yùn)算概述

?計(jì)算機(jī)的特點(diǎn):數(shù)據(jù)是以二進(jìn)制數(shù)表示的;

機(jī)器指令由二進(jìn)制數(shù)組成的。

二進(jìn)制數(shù):0,1

C語(yǔ)言耗停直苜

?C語(yǔ)言的特點(diǎn):具有高級(jí)語(yǔ)言和低級(jí)語(yǔ)言的功能。

低級(jí)語(yǔ)言功能的表現(xiàn):

調(diào)用BIOS中的各中斷函數(shù);

調(diào)用系統(tǒng)功能的函數(shù);

讀寫I/O端口的函數(shù);

直接對(duì)數(shù)據(jù)的位或字節(jié)進(jìn)行操作(只限

于char型和int型數(shù)據(jù))。

?本章主要介紹位運(yùn)算。

C語(yǔ)言凝停直苜

?C語(yǔ)言中的位操作運(yùn)算符:

共有6個(gè),分別如下:

U??ZI作用:按位取反

如:a=10011010

則:?a=onooioi

12.<<]作用:按位左移

如:a=10011010

貝I]:a?2=01101000

3.》作用:按位右移

如:a=10011010,b=01010011

則:a?2=l1100110(a為有符號(hào)數(shù))

b?2=00010100(b為無(wú)符號(hào)數(shù))

4.&|作用:按位與1&0=0,0&0=0)

如:a=10011010

b=01010011

貝I」:a&b=00010010

ci吾言程停過(guò)it

5.1|作用:按位或(1|1=1,1|0=1,0|0=0)

如:a=10011010

b=01010011

貝心a|b=11011011

6.\|作用:按位異或(1A1=O,1AO=1,OAO=O)

如:a=10011010

b=01010011

則:aAb=11001001

C語(yǔ)言耗停直苜

§13-2.位運(yùn)算符的使用方法

?位運(yùn)算符分為兩類:

1.只有一個(gè)變量參與運(yùn)算:1<<,?

2.有兩個(gè)變量參與運(yùn)算:&,|,A

位運(yùn)算時(shí),通常采用的是八進(jìn)制或十六進(jìn)制數(shù)。

ci吾看盤停過(guò)it

例:main()

{unsignedinta=0;

n

printf(%x9%u\n",?a,?a);

運(yùn)行結(jié)果:ffff,65535

實(shí)際上:a=0000000000000000n0

-a=nn1111Illinil=65535(十六進(jìn)制:fill)

若:a=0000000000000001=>1

則:?a=nil1H1nn1110065534(十六進(jìn)制:ffFe)

2.按位左移:vv

表達(dá)式:變量名《位數(shù)

C

________________________________________I

作用:把變量名所代表的數(shù)中各個(gè)位全部左稱

若干位,右邊空出的位補(bǔ)零。

如:a?2

a?3

ci吾看程停過(guò)計(jì)

例:main()

{inta=8;(二進(jìn)制數(shù):00001000)

intb=-8;

nn

printf(%d\n9a?2);

nn

printf(%d\n9b?2);

運(yùn)行結(jié)果:32

-32

C語(yǔ)言耗停汽苜

分析:

a=00001000

a?2=0000100000

熹^/入

結(jié)果:左移一位相當(dāng)于原來(lái)的數(shù)乘2。(條件是

左移不出溢出)

若:inta=28;

貝lj:a?2=112

C語(yǔ)言耗停汽苜

3.按位右移:?

表達(dá)式:變量名>>位數(shù)J

._______________________________e

作用:把變量所代表的數(shù)中的各個(gè)位全部右

移若干位,左邊空出的位補(bǔ)0或補(bǔ)1。

?補(bǔ)0的情況:*unsignedint型或char型的變量;

來(lái)int型的正數(shù)。

?補(bǔ)1的情況:int型的負(fù)數(shù)

y

C語(yǔ)言震停過(guò)H

如:inta=64(01000000)

則:a?2=16(0001000000)n稱為邏輯右移

補(bǔ)入丟失

y

如:inta=-64(11000000)

貝U:a?2=[a]補(bǔ)碼?2

=(怙]反碼+1)>>2

=(10111111+1)?2

=(11000000)?2

=H11000000n稱為算術(shù)右移

TT

補(bǔ)入丟失

結(jié)論:/若吟0,則a?x相當(dāng)于a整除2X

X若a<0,則a?x的結(jié)果分兩種情況

?若a%2x=0,則a?x相當(dāng)于a整除

?若a%2xw0,則a?x相當(dāng)于(a/2X)+1

4.按位與:&(有零為零)

力若有inta=60,b=10;

即:(a)2=00111100

(b)2=00001010

則:(a&b)2=00001000

(a&b)10=8

C捂黑辭停過(guò)it

*若有inta=-605b=10;

即:(a)補(bǔ)=11000011+1

=11000100

(b)2=00001010

則:a&b=0

ci吾看程停過(guò)計(jì)

慈一想:若inta=-60,b=6;

則a&b=?

答案:a&b=4

因?yàn)?(a)補(bǔ)=11000100

p

(b)2=00000110

所以:(a&b)2=00000100

C語(yǔ)舌盤序過(guò)H

5.按位或:|(有1為1)

%若有inta=60,b=10;

即:(a)2=00111100

(b)2=00001010

則:(a|b)2=00111110

(a|b)10=62

情言:震

X若有inta=-60,b=10;

即:(a)2=11000011+1

=11000100

(b%=00001010

則:(a|b)2=11

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論