版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第八章位運算
南因號船現(xiàn)代我有技東中芯
2004年5月制作
本章主要內(nèi)容
■c語言既是一種高級語言,廣泛應用于應用軟
件的開發(fā)和程序設計,同時又是一種低級語言,
可以用于系統(tǒng)軟件的開發(fā)和程序設計,如自動
控制系統(tǒng)中的過程控制、參數(shù)檢測、數(shù)據(jù)通訊
等控制程序,都可以綜合利用c語言中的指針
操作、位運算和位段技術(shù)來實現(xiàn)。
本章介紹位運算的基本形式和常用運算符,并
簡要介紹位段的概念。位運算的深入學習,應
該在《計算機原理》和《匯編語言程序設計》
課程中進行。
莆田學院現(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)有關
填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月
應用示例
①從整數(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月
應用示例
莆田學院現(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é)議書
- 2025版電商廣告制作合同包含短視頻與海報2篇
- 2025北京非全日制從業(yè)人員勞動合同書范本
- 2025防水保溫合同書范文
- 2025版白酒生產(chǎn)委托加工合同樣本3篇
- 2024年電子招投標及合同管控協(xié)議
- 2024年種子質(zhì)量保證與合作合同3篇
- 2025版青島房產(chǎn)抵押居間貸款合同3篇
- 2025版礦山承包經(jīng)營地質(zhì)災害監(jiān)測合同3篇
- 2025版精密機床購置及售后服務協(xié)議書3篇
- 人教版六年級數(shù)學(上冊)期末調(diào)研題及答案
- 舞蹈療法在減少壓力和焦慮中的作用
- 女性婦科保健知識講座
- 《電力系統(tǒng)治安反恐防范要求 第3部分:水力發(fā)電企業(yè)》
- 部編版語文四年級下冊第二單元大單元教學設計核心素養(yǎng)目標
- 2024年小學教師聽課、評課制度
- 精品解析:河北省衡水市衡水中學2023-2024學年高一上學期期末數(shù)學試題(解析版)
- 2023年《鐵道概論》考試復習題庫附答案(含各題型)
- (電焊工)勞務分包合同
- 陜西省西安市西咸新區(qū)2023-2024學年七年級上學期1月期末歷史試題
- 北師大版數(shù)學三年級下冊全冊教案教學設計及教學反思
評論
0/150
提交評論