第九章位運算_第1頁
第九章位運算_第2頁
第九章位運算_第3頁
第九章位運算_第4頁
第九章位運算_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第九章位運算第1頁,課件共13頁,創(chuàng)作于2023年2月9.1

位運算的概念9.1.1計算機(jī)內(nèi)數(shù)據(jù)的表示方法整數(shù):占若干字節(jié),存儲該數(shù)的二進(jìn)制補(bǔ)碼最左端的位稱為“最高位”,用作符號位,0表正,1表負(fù)最右端的位稱為“最低位”,編號為0字符:占一個字節(jié),存儲該字符的ACCII碼,以二進(jìn)制表示第2頁,課件共13頁,創(chuàng)作于2023年2月9.2.2位運算及其運算符位運算:按二進(jìn)制位進(jìn)行的運算運算量:整型、字符型位運算符:~→算術(shù)→<<

、>>

→關(guān)系→&

→^

→|→&&→||→?:→賦值單、右雙、左雙、左第3頁,課件共13頁,創(chuàng)作于2023年2月9.2位運算9.2.1按位與(&)運算規(guī)則:0&0=0、0&1=0、1&0=0、1&1=1例:3&7

0000000000000011&00000000000001110000000000000011(3)

-3&-51111111111111101&11111111111110111111111111111001(-7)3&&7=1-3&&-5=1注:符號位也參與運算第4頁,課件共13頁,創(chuàng)作于2023年2月9.2.2按位或(|)運算規(guī)則:0|0=0、0|1=1、1|0=1、1|1=1例:3|7

0000000000000011|00000000000001110000000000000111(7)

-3|-51111111111111101

|11111111111110111111111111111111(-1)第5頁,課件共13頁,創(chuàng)作于2023年2月

9.2.3按位異或(^)運算規(guī)則:0^0=0、0^1=1、1^0=1、1^1=0例:3^7

0000000000000011^00000000000001110000000000000100(4)

-3^-51111111111111101

^11111111111110110000000000000110(6)第6頁,課件共13頁,創(chuàng)作于2023年2月9.2.4按位取反(~)運算規(guī)則:~0=1、~1=0例:~

-3~11111111111111010000000000000010(2)第7頁,課件共13頁,創(chuàng)作于2023年2月9.2.5左移(<<)運算規(guī)則:將各二進(jìn)制位全部左移若干位移出的高位舍棄,右端低位補(bǔ)0例:a=15;a=a<<2;

0000000000001111(舍)000000000000111100(補(bǔ))(a=60)9.2.6右移(>>)運算規(guī)則:將各二進(jìn)制位全部右左移若干位移出的低位舍棄,左端高位:無符號數(shù)補(bǔ)0有符號數(shù)進(jìn)行符號擴(kuò)展例:a=15;a=a>>2;

0000000000001111(補(bǔ))000000000000001111(舍)(a=3)注:左移n位相當(dāng)于乘以2n

注:右移n位相當(dāng)于除以2n取商

第8頁,課件共13頁,創(chuàng)作于2023年2月9.2.7位運算賦值運算

除按位取反運算外,位運算與賦值運算符可以組成復(fù)合賦值運算符:&=、|=、>>=、<<=、^=例:a&=b,等價于a=a&ba<<=2,等價于a=a<<2。第9頁,課件共13頁,創(chuàng)作于2023年2月注:不同長度的數(shù)據(jù)進(jìn)行運算系統(tǒng):將數(shù)據(jù)的右端對齊對長度短者,左側(cè):無符號數(shù)補(bǔ)0有符號數(shù)進(jìn)行符號擴(kuò)展例:longa=5;intb=3;a&b:將b與a的低16對齊對b的高16位進(jìn)行符號擴(kuò)展例:a=2,b=2a^7|b結(jié)果:7第10頁,課件共13頁,創(chuàng)作于2023年2月9.3位段簡介9.3.1位段的概念與定義位段:對結(jié)構(gòu)體中的某些成員以二進(jìn)制位為單位分配內(nèi)存稱這樣的成員為位段,或稱位域。位段的類型:必須為unsignedint例:structpacked_data{unsigneda:2;unsignedb:6;unsignedc:4;unsignedd:4;}structpacked_datadata;第11頁,課件共13頁,創(chuàng)作于2023年2月說明:①位段成員的類型必須是unsigned或int類型

②位段的使用同結(jié)構(gòu)體變量的成員例:data.a=2;data.b=25;位段賦值時要注意取值范圍長度為n的位段,其取值范圍為0~(2n-1);例:data.c的寬度為4,則它的數(shù)據(jù)范圍為0~15(0000~1111)可以用%d、%u、%0和%x等格式字符,以整數(shù)形式輸出位段第12頁,課件共13頁,創(chuàng)作于2023年2月③一個位段必須存儲在同一個存儲單元,不能跨兩個存儲單元。如果第一個存儲單元空間不能容納下一個位段,則該空間不用,而從下一個單元起存放該位段。④可以定義無名位段,表示相應(yīng)空間不用,或定義長度為0的無名位段,表示下一個位段從下一個存儲單元開始存放。例:structpacked_data{unsigneda:2;unsignedb

溫馨提示

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

評論

0/150

提交評論