![高級語言程序設(shè)計 位運算_第1頁](http://file4.renrendoc.com/view14/M07/01/09/wKhkGWcj9oSAFOXiAADtOtZaMug230.jpg)
![高級語言程序設(shè)計 位運算_第2頁](http://file4.renrendoc.com/view14/M07/01/09/wKhkGWcj9oSAFOXiAADtOtZaMug2302.jpg)
![高級語言程序設(shè)計 位運算_第3頁](http://file4.renrendoc.com/view14/M07/01/09/wKhkGWcj9oSAFOXiAADtOtZaMug2303.jpg)
![高級語言程序設(shè)計 位運算_第4頁](http://file4.renrendoc.com/view14/M07/01/09/wKhkGWcj9oSAFOXiAADtOtZaMug2304.jpg)
![高級語言程序設(shè)計 位運算_第5頁](http://file4.renrendoc.com/view14/M07/01/09/wKhkGWcj9oSAFOXiAADtOtZaMug2305.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第八章位運算
南因號船現(xiàn)代我有技東中芯
2004年5月制作
本章主要內(nèi)容
■c語言既是一種高級語言,廣泛應(yīng)用于應(yīng)用軟
件的開發(fā)和程序設(shè)計,同時又是一種低級語言,
可以用于系統(tǒng)軟件的開發(fā)和程序設(shè)計,如自動
控制系統(tǒng)中的過程控制、參數(shù)檢測、數(shù)據(jù)通訊
等控制程序,都可以綜合利用c語言中的指針
操作、位運算和位段技術(shù)來實現(xiàn)。
本章介紹位運算的基本形式和常用運算符,并
簡要介紹位段的概念。位運算的深入學習,應(yīng)
該在《計算機原理》和《匯編語言程序設(shè)計》
課程中進行。
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
、位運算符和位運算
■位運算概述
所謂“位運算”,是指按二進制位進行運算。
?位運算的特點:運算按二進制逐位進行——沒
有借彳立和接彳立。
“位運算量:整型(int,short,unsiged,long)/字
符型(以補碼/ASCII碼形式存儲),不可為實
型。
?位運算符:P298表12.1
&1A???
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
、位運算符和位運算
位運算符還可與賦值運算符相結(jié)合,進行位運
算賦值操作。如:
a&=b等價于a=a&b
a?=b等價于a=a?b
■注意:位運算時的數(shù)據(jù)類型為char/int,分析
時要化為二進制形式,但在程序中書寫及輸出
結(jié)果時仍為char/int。
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
位運算符的使用
按位與&(均為1時方為1)
【例一】計算
main()010000(a)
&011000(b)
010000
unsignedchara,b;
printf(Tnteraandb:");001010(a)
&010000(b)
u,5
scanf(%o,%o,&a,&b);000000
printf(ua&b=%o\n55,a&b);
)
Enteraandb:20,30Enteraandb:12,20
a&b=20a&b=0
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
位運算符的使用
按位或|(均為0時方為0)
【例二】計算
main()010000(a)
I011000(b)
011000
unsignedchara,b;
printf(Tnteraandb:");001010(a)
I010000(b)
u,5
scanf(%o,%o,&a,&b);011010
printf(ua|b=%o\n,,,a|b);
)
Enteraandb:20,30Enteraandb:12,20
a|b=30a|b=32
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
位運算符的使用
按位異或八(二者相異方為1)
【例三】以下程序的功能是將。數(shù)據(jù)的低4位取反。
#include<stdio.h>
main()計算
(00111001(a)
unsignedchara=0x39,b=人00001111(b)
a=aAb;00110110
printf("%x\n",a);
答案:OxOf
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
位運算符的使用
按位取反~(各位反轉(zhuǎn))
【例四】計算
main()~a:
(補碼:11111100
chara=3;原碼:10000100
intb=10;?b:
printf(''~a=%d,~b=%d\rT,~a「補碼
)原碼:10001011
結(jié)果:?a=-4,?b=Tl
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
位運算符的使用
?左移運算?
a?n將a中各位向左移n位,右端補0,高位溢出丟棄。
例:
【例五】以下程序的運行結(jié)果是_____O
main()
(
unsignedinta=0x3ef,b;
b=a?2;
printf("%x,%x\n",a,b);
}
A)3ef,fbB)3ef,fbcC)fbc,3efD)fbc,fbc
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
位運算符的使用
■左移運算?
計算
【例六】以下程序的運行結(jié)5已知:0x1f5為111110101
main()且:Ta為1100
???2<<3為1100000
inta=12,b;111110101
b=0x1f5&a?3;&001100000
printf("%d,%d\n"Ja,b);
}001100000=96
結(jié)果:12,96
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
位運算符的使用
■右移運算?
a?n將a中各位右移n位,溢出則舍棄。
左端----
?a為正數(shù)時(符號位為0),填0;
aa為負數(shù)時(符號位為1),填?;蛱?與系統(tǒng)有關(guān)
填0(邏輯右移)
填1(算術(shù)右移)TC使用算術(shù)右移
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
位運算符的使用
?右移運算?
【例七】以下程序的運行結(jié)果是_____
main()
(
inta=9,b=-9;
printf("%d,%d",a?2,b?2);
}
結(jié)果:2,-3
(-9的補碼:1111111111110111,
右移后為1111111111111101)o
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
應(yīng)用示例
①從整數(shù)a最右端am=10n=3
[「IITIIIIllIIII[III
第m個位置開始[15|14|13|12|10|9|817|6|5|4|3|2|“0|
取該位開始右面b=a?(10-3+1)S!a?8
n位。jo|。|o|o|o|o|o|0I15I14I13I12I11I10I9|8|
算法如下:
-O?3
b=a?(m-n+1)I」「I」V「1”T”「I”。1。1。1
c=~(~O?n)c=*(*O?n)=~(*O?3)
_L------1
d=b&c「0|0|0|U|0巨|0|0|0|0|0|0|011I1I1I
注:位自右向左d=b&c
從0開始編號|o|o|o|o|o|o|o|o|o|o|o|u|u|io|9|8|
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
應(yīng)用示例
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
二、位段
c語言允許在一個結(jié)構(gòu)體中以位為單位來指定
其成員所占內(nèi)存長度。這種以位為單位的成員
稱為“位段”。
莆田學院現(xiàn)代教育技術(shù)中心2004年5月
示例
structdata
(
inti;/*非位段*/
unsignedinta:3;/*占3位*/
unsignedintb:5;/*占5位*/
unsignedint:3;/*無
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深信服智慧校園云機房解決方案
- 2025年山東省職教高考《語文》核心考點必刷必練試題庫(含答案)
- 《現(xiàn)代康旅產(chǎn)業(yè)概論》期末參考試題庫及答案
- 2025年武夷山職業(yè)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年新疆輕工職業(yè)技術(shù)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年晉中職業(yè)技術(shù)學院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 部編版語文五年級下冊《快樂讀書吧》精美課件
- 定點醫(yī)院體檢服務(wù)合同
- spine教程脊柱損傷的早期評估和急診處理課件
- 滅火救援作戰(zhàn)裝備與駕駛技能
- 2025版茅臺酒出口業(yè)務(wù)代理及銷售合同模板4篇
- 2025年N1叉車司機考試試題(附答案)
- 《醫(yī)院財務(wù)分析報告》課件
- 2024年考研政治試題及答案
- 2025年初級社會工作者綜合能力全國考試題庫(含答案)
- 2024年濰坊護理職業(yè)學院單招職業(yè)適應(yīng)性測試題庫附答案
- 《鉗工基本知識》課件
- 2022-2023學年五年級數(shù)學春季開學摸底考(四)蘇教版
- 【螞蟻?!?024中國商業(yè)醫(yī)療險發(fā)展研究藍皮書
- 授信審批部工作計劃及思路
- 財務(wù)管理學(第10版)課件 第3章 財務(wù)分析
評論
0/150
提交評論