




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第10章 位 運 算,位運算是指對二進制位進行的運算。每個二進制位中只能存放0或1。因此,位運算就是對二進制數(shù)的運算。通常,將一個數(shù)據(jù)用二進制數(shù)表示后,最右邊的二進制位稱為最低位(第0位),最左邊的二進制位為最高位。,圖10.1 微機中整數(shù)的二進制位表示,10.1 二進制位運算 10.2 位 段 10.3 程序舉例,10.1 二進制位運算,在C語言中共提供了6種位運算符,如表10.1所示。 表10.1,返回目錄,(1)在這6種位運算符中,其中按位取反是單目運算符,只有一個運算對象,其他均為雙目運算符,有兩個運算對象。 (2)位運算的運算對象只能是整型(包括int,short,long和unsigned)或字符型數(shù)據(jù),而不能是實型數(shù)據(jù)。 (3)各位運算符的優(yōu)先級比較分散,與其他運算符一起,其優(yōu)先級從高到低如下: 邏輯非(!)按位取反()算術(shù)運算符左移運算符()關(guān)系運算符按位與運算符(&),按位異或運算符(),按位或運算符(|)&與| 賦值運算符,1“按位與”運算符(&) “按位與”的運算符為“&”。其運算規(guī)則是:若兩個運算對象的對應(yīng)二進制位均是1,則結(jié)果的對應(yīng)位是1,否則為0。 利用“按位與”運算可以實現(xiàn)以下功能: (1)取出數(shù)據(jù)中指定的位 (2)將數(shù)據(jù)中的指定位清零,2“按位或”運算符(|) “按位或”的運算符為“|”。其運算規(guī)則是:若兩個運算對象的對應(yīng)二進制位中有一個是1,則結(jié)果的對應(yīng)位是1,否則為0。,例10.2 下列C程序的功能是將整型數(shù)組中所有元素轉(zhuǎn)換為不小于它的最小奇數(shù),并顯示輸出。 #include “stdio.h“ main() int k,a1023,14,24,31,46,55,33,68,27,40; for (k0;k10;k) printf(“%5d“,ak); printf(“n“); for (k0;k10;k) akak|0x01; for (k0;k10;k) printf(“%5d“,ak); printf(“n“); ,3“按位異或”運算符() “按位異或”的運算符為“” 。其運算規(guī)則是:若兩個運算對象的對應(yīng)二進制位不相等,則結(jié)果的對應(yīng)位是1,否則為0。 “按位異或”運算具有以下幾個性質(zhì): (1)使數(shù)據(jù)中的某些位取反,即將0變?yōu)?,1變?yōu)?。 (2)同一個數(shù)據(jù)進行異或運算后,其結(jié)果為0。利用異或運算的這個性質(zhì),可以將變量清零。 (3)可以實現(xiàn)交換兩個變量的值:,4“按位取反”運算符() “按位取反”的運算符為“”。其運算規(guī)則是:將運算對象中的各二進制位值取反,即將0變?yōu)?,1變?yōu)?。,5“左移”運算符() “左移”運算符為“”。其運算規(guī)則是:將運算對象中的每個二進制位向左移動若干位,從左邊移出去的高位部分被丟棄,右邊空出的低位部分補0。,6“右移”運算符() “右移”運算符為“”。其運算規(guī)則是:將運算對象中的每個二進制位向右移動若干位,從右邊移出去的低位部分被丟棄。但左邊空出的高位部分是補0還是補1,要視下列具體情況而定: 若右移對象為無符號整型數(shù),則右移后左邊空出的高位部分補0。 若右移對象為一般整型數(shù)或字符型數(shù)據(jù),當(dāng)該數(shù)據(jù)的最高位為0(對于一般整型來說即為正數(shù)),則右移后左邊空出的高位部分補0。當(dāng)該數(shù)據(jù)的最高位為1(對于一般整型來說即為正數(shù)),則與使用的計算機系統(tǒng)有關(guān),有的計算機系統(tǒng)將右移后左邊空出的高位部分補1,稱為“算術(shù)右移”;有的計算機系統(tǒng)將右移后左邊空出的高位部分補0,稱為“邏輯右移”。,10.2 位 段 在C語言中,定義位段結(jié)構(gòu)類型的一般形式為 struct 位段結(jié)構(gòu)類型名 成員表 ;,返回目錄,在定義位段與使用位段時,要注意以下幾個問題: (1)位段成員的類型必須是unsigned型。 (2)在位段結(jié)構(gòu)類型中,可以定義無名位段,這種無名位段具有位段之間的分隔作用。 (3)每個位段(成員)所占的二進制位數(shù)一般不能超過一個字長(即一個存儲單元)。 (4)在位段結(jié)構(gòu)類型定義中,可以包含非位段成員。 (5)位段可以在一般的表達式中被引用,并被自動轉(zhuǎn)換為相應(yīng)的整數(shù)。,10.3 程序舉例,例10.3 編寫一個C程序,其功能是:從鍵盤輸入一個 無符號整數(shù)m以及位移位數(shù)n,當(dāng)n0時,將m循環(huán)右 移n位;當(dāng)n0時,將m循環(huán)左移|n|位。,返回目錄,將一個無符號整數(shù)m循環(huán)移n位的方法如下: 首先用sizeof函數(shù)確定一個無符號整數(shù)所占的二進制位數(shù)k。 如果是循環(huán)右移,則先將m右移n位(即將原數(shù)的高kn位移到低位),再將m左移kn位(即將原數(shù)的低n位移到高位),然后將它們作按位或運算(即將它們合并)。 如果是循環(huán)左移,則先將m左移n位(即將原數(shù)的低kn位移到高位),再將m右移kn位(即將原數(shù)的高n位移到低位),然后將它們作按位或運算(即將它們合并)。,其C程序如下: #include “stdio.h“ main() unsigned m; int n; printf(“input m:“); scanf(“%x“,&m); printf(“input n:“); scanf(“%d“,&n); if (n0) printf(“moveright%xn“,moveright(m,n); else printf(“moveleft%
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 面向2025年生鮮新零售行業(yè)供應(yīng)鏈優(yōu)化與冷鏈物流創(chuàng)新實踐研究報告001
- 基層醫(yī)療機構(gòu)信息化建設(shè)中的基層衛(wèi)生人才隊伍信息化能力提升報告
- 2025年醫(yī)院信息化建設(shè)電子病歷系統(tǒng)優(yōu)化策略研究報告001
- 2025年醫(yī)院電子病歷系統(tǒng)優(yōu)化與醫(yī)療信息化產(chǎn)業(yè)生態(tài)協(xié)同創(chuàng)新模式實踐報告
- 2025年醫(yī)院電子病歷系統(tǒng)功能優(yōu)化及用戶體驗提升報告001
- 2025年醫(yī)藥市場前景展望:仿制藥一致性評價下的產(chǎn)業(yè)升級路徑
- 咖啡連鎖品牌2025年市場布局:咖啡店品牌戰(zhàn)略規(guī)劃與市場研究報告
- 醫(yī)療器械臨床試驗質(zhì)量管理規(guī)范化2025年實施現(xiàn)狀報告
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式下的創(chuàng)新項目管理報告
- 數(shù)字孿生視角下2025年城市規(guī)劃與建設(shè)中的智慧城市交通流量管理優(yōu)化與評估報告
- 品管圈QCC成果匯報提高患者健康教育知曉率
- 高標(biāo)準農(nóng)田建設(shè)項目工程建設(shè)進度計劃與措施
- 西方經(jīng)濟學(xué)-馬工程重點教材-第16章
- 人工智能安全ppt
- 綜述論文(腸內(nèi)營養(yǎng)的臨床應(yīng)用及護理進展)
- 北京市工傷保險醫(yī)療費用手工報銷申報表
- 2022-2023學(xué)年四川省成都市高新區(qū)八年級(下)期末語文試卷(含解析)
- 2023年廈門大學(xué)強基計劃招生考試數(shù)學(xué)試題真題(含答案)
- 2023年職業(yè)技能-配網(wǎng)不停電帶電作業(yè)考試參考題庫(高頻真題版)附答案
- O型密封圈的選型設(shè)計計算參考
- 食品供貨方案(完整版)
評論
0/150
提交評論