




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C C語言位運算語言位運算 一、位運算符和位運算n位運算概述所謂“位運算”,是指按二進制位進行運算。n位運算的特點:運算按二進制逐位進行沒有借位和進位。n位運算量:整型(int,short,unsiged,long)/字符型(以補碼/ASCII碼形式存儲),不可為實型。位運算符:& | 一、位運算符和位運算n位運算符還可與賦值運算符相結(jié)合,進行位運算賦值操作。如: a&=b 等價于 a=a&b a=b 等價于 a=abn注意:位運算時的數(shù)據(jù)類型為char/int,分析時要化為二進制形式,但在程序中書寫及輸出結(jié)果時仍為char/int。位運算符的使用n按位與 &
2、(均為1時方為1)【例一】int main(int argc, char *argv)unsigned char a,b;printf(Enter a and b:);scanf(%o,%o,&a,&b);printf(a&b=%on,a&b);return 0; 計算 10 100 (a) & 11 110 (b) 10 100 01 100 (a) & 10 100 (b) 00 100 Enter a and b: 20,30a&b=20Enter a and b: 12,20a&b=4位運算符的使用n按位或 | (均為0時
3、方為0) 【例二】int main(int argc, char *argv) unsigned int a,b; printf(Enter a and b:); scanf(%o,%o,&a,&b); printf(a | b=%on,a|b); Enter a and b: 20,30a | b=30Enter a and b: 12,20a | b=32計算 010 000 (a) | 011 000 (b) 011 000 001 010 (a) | 010 000 (b) 011 010 位運算符的使用n按位異或 (二者相異方為1) 【例三】以下程序的功能是將a數(shù)據(jù)的
4、低4位取反。#include int main(int argc, char *argv)unsigned char a=0 x39, b=0 x0F;a=ab;printf(0 x%xn, a);return 0;答案:0 x36 計算 00111001 (a) 00001111 (b) 00110110 位運算符的使用n按位取反 (各位反轉(zhuǎn)) 【例四】 int main(int argc, char *argv) char a=3;int b=10;printf(a=%d,b=%dn,a,b);return 0; 結(jié)果:a=-4,b=-11 計算 a:補碼: 11111100原碼: 100
5、00100 b:補碼:11110101原碼:10001011位運算符的使用n左移運算 an 將a中各位向左移n位,右端補0,高位溢出丟棄。 例: a= an (可寫為a=n),相當于a2n(高位未溢出時) 【例五】以下程序的運行結(jié)果是 。int main(int argc, char *argv)unsigned int a=0 x3ef,b;b=a2;printf(%x,%xn,a,b);return 0;A)3ef,fb B) 3ef,fbc C) fbc,3ef D) fbc,fbc結(jié)果:B 位運算符的使用n左移運算 【例六】以下程序的運行結(jié)果是 。int main(int argc, char *argv)int a=12,b;b=0 x1f5 & a3;printf(%d,%dn,a,b);return 0;結(jié)果:12,96計算已知:0 x1f5為1 1111 0101且:a為1100 a an 將a中各位右移n位,溢出則舍棄。左端na為正數(shù)時(符號位為0),填0;na為負數(shù)時(符號位為1),填0或填1與系統(tǒng)有關(guān) 填0(邏輯右移) 填1(算術(shù)右移) TC使用算術(shù)右移位運算符的使用n右移運算 【例七】以下程序的運行結(jié)果是 。int main(int argc, char *argv)int a=9
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 共有產(chǎn)權(quán)房轉(zhuǎn)讓協(xié)議合同
- 合伙企業(yè)入股合同模板(完整版)
- 港口物流倉儲合同2025
- 2025年二手住宅交易定金合同
- 別墅區(qū)安保服務(wù)承包合同范文
- 校園圍墻新建工程合同
- 校企合作培訓合同范文
- 重點工程鋼結(jié)構(gòu)施工安全合同
- 醫(yī)院專業(yè)技術(shù)人才聘用合同書
- 股權(quán)眾籌合作合同協(xié)議
- 2022年第六屆【普譯獎】全國大學生英語翻譯大賽
- GB/T 14258-2003信息技術(shù)自動識別與數(shù)據(jù)采集技術(shù)條碼符號印制質(zhì)量的檢驗
- 政府資金項目(榮譽)申報獎勵辦法
- JJF 1069-2012 法定計量檢定機構(gòu)考核規(guī)范(培訓講稿)
- 最新如何進行隔代教育專業(yè)知識講座課件
- 磁懸浮鐵路課件
- 當前警察職務(wù)犯罪的特征、原因及防范,司法制度論文
- 初中化學魯教九年級上冊附錄 物質(zhì)的分類PPT
- 陜西省西安市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細及行政區(qū)劃代碼
- 3、變電站全面巡視記錄
- 計算機文化基礎(chǔ)單元設(shè)計-windows
評論
0/150
提交評論