全國計算機等級考試2C課程第12講位運算.ppt
《全國計算機等級考試2C課程第12講位運算.ppt》由會員分享,可在線閱讀,更多相關《全國計算機等級考試2C課程第12講位運算.ppt(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。
全國計算機等級考試3C課程 第十二講位運算 2020 1 23 作者 張旭仟版權所有歡迎盜版 2 位運算的概念 前面我們所學的各種運算 都是以字節(jié)作為基本單位進行的 所謂位運算 就是以二進制位為基本單位進行的運算 語言提供了6種基本位運算符 如下所示 此外 位運算符也可以與賦值運算符一起組成復合賦值符 如 2020 1 23 作者 張旭仟版權所有歡迎盜版 3 位運算的概念 優(yōu)先級 按位取反 優(yōu)先級2位移 優(yōu)先級5位與 優(yōu)先級8位異或 優(yōu)先級9位或 優(yōu)先級10結合性 按位取反 右結合性其他左結合性說明 位運算符中除按位非 為單目運算符外 其他均為雙目運算符 位運算的運算量只能是整型或字符型的數(shù)據(jù) 不能為實型數(shù)據(jù) 如果參加位運算的運算量是負數(shù) 則首先要將其以補碼形式表示為二進制數(shù) 然后再按相應規(guī)則進行運算 2020 1 23 作者 張旭仟版權所有歡迎盜版 4 按位非 求反 運算 功能 對參與運算的數(shù)的各二進位按位求反 即將0變1 將1變0 例如 025是對八進制數(shù)25 即二進制數(shù)00010101 按位求反 計算方法如下 2020 1 23 作者 張旭仟版權所有歡迎盜版 5 按位非 求反 運算 例程 includemain inta 3 b 5 c c a 運算結果 c 4 2020 1 23 作者 張旭仟版權所有歡迎盜版 6 功能 把 左邊的運算數(shù)的各二進位全部左移若干位 由 右邊的數(shù)指定移動的位數(shù)運算規(guī)則低位補0 高位溢出丟棄 例如 左移運算 includemain inta 9 a a 1 printf a d n a 運算結果 a 18 2020 1 23 作者 張旭仟版權所有歡迎盜版 7 左移運算 說明從上面的例子可以看出 在不損失有效數(shù)字的情況下 每左移1位 相當于該數(shù)乘以2 左移2位相當于該數(shù)乘以2的2次方 4 15 2 結果為60 即相當于15乘以4 但此結論只適用于該數(shù)左移時被溢出舍棄的高位中不包含1的情況 例如 表達式a 4 是指把變量a的各二進位向左移動4位 如果有語句 a 3 3的二進制00000011 則左移4位相當于3 2 4 結果為 00110000 即十進制48 2020 1 23 作者 張旭仟版權所有歡迎盜版 8 右移運算 功能 把 左邊的運算數(shù)的各二進位全部右移若干位 右邊的數(shù)指定移動的位數(shù)說明 對于無符號數(shù) 右移時高位補零 對于有符號數(shù) 正數(shù)右移時在高位補0 負數(shù)右移時在高位補1 其中左邊補0稱 算術右移 左邊補1稱 邏輯右移 例如 若a 017 二進制形式為00001111 十進制為15 a 2運算后 舍棄低2位得到00000011 十進制為3 若a 5 二進制形式為11111011 a 2運算后 舍棄低2位得到11111110 十進制為 2 2020 1 23 作者 張旭仟版權所有歡迎盜版 9 右移運算 例程 main unsigneda b printf inputanumber scanf d 運行結果 inputanumber 255 a 255b 7由以上示例可以看出 右移一位相當于除以2 右移n位相當于除以2n 2020 1 23 作者 張旭仟版權所有歡迎盜版 10 小練習 1 若有以下程序 2009年9月 intr 8 printf d n r 1 輸出結果是A 16B 8C 4D 2 2020 1 23 作者 張旭仟版權所有歡迎盜版 11 按位與運算 運算規(guī)則 參加運算的兩個數(shù)據(jù) 按二進制位進行 與 運算 如果兩個相應的二進制位都為 則該位的結果值為 否則為 即 2020 1 23 作者 張旭仟版權所有歡迎盜版 12 按位與運算 按位與的常用功能1 清零若想對一個存儲單元置零 只要用一個全 的二進制數(shù)與其進行 運算 即可達到清零目的 例 若原存儲單元的數(shù)為00101011 若要將其全部置為0 只需將其與二進制數(shù)00000000進行 運算即可 2020 1 23 作者 張旭仟版權所有歡迎盜版 13 按位與運算 按位與的常用功能2 取一個數(shù)中的特定位 若想對一個二進制數(shù)的某些位置零 其他位保持不變 只需將找一個數(shù) 對應于要置0的位全部為0 對應于要保持不變的位全部為1 然后做按位與運算即可 例 有16位的二進制數(shù)0010110010101100 要求將高8位全部置0 低8位保持不變 只需將其與二進制數(shù)0000000011111111進行 運算即可 2020 1 23 作者 張旭仟版權所有歡迎盜版 14 小練習 2 有以下程序 2010年3月 includemain inta 2 b 2 c 2 printf d n a b 程序運行后的輸出結果是A 0B 1C 2D 3 2020 1 23 作者 張旭仟版權所有歡迎盜版 15 按位異或運算 運算規(guī)則 當兩對應的二進位相異時 結果為1 反之為0 即 0 0 0 0 1 1 1 0 1 1 1 0 例 071 052 023 八進制數(shù) 2020 1 23 作者 張旭仟版權所有歡迎盜版 16 按位異或運算 運算符的應用 運算可以使特定位翻轉 設有01111010 想使其低4位翻轉 即1變?yōu)? 0變?yōu)? 可以將它與00001111進行 運算 即 運算結果 低 位正好是原數(shù)低 位的翻轉 可見 要使哪幾位翻轉就將與其進行 運算的該幾位置為 即可 2020 1 23 作者 張旭仟版權所有歡迎盜版 17 小練習 3 變量a中的數(shù)據(jù)用二進制表示的形式是01011101 變量b中的數(shù)據(jù)用二進制表示的形式是11110000 若要求將a的高4位取反 低4位不變 所要執(zhí)行的運算是 2008年4月 A a bB a bC a bD a 4 2020 1 23 作者 張旭仟版權所有歡迎盜版 18 按位或運算 運算規(guī)則 只要對應的二個二進位有一個為1時 結果位就為1 即 例如 對于060 017 計算方法如下 2020 1 23 作者 張旭仟版權所有歡迎盜版 19 按位或運算 按位或的用途 按位或運算常用來對一個數(shù)據(jù)的某些位定值為 例如 如果想使一個數(shù) 的低 位改為 只需將 與 1111 進行按位或運算即可 例 是一個短整形數(shù)據(jù) 16位 有表達式 a 0377則將低 位全置為 高 位原樣保留 說明 其中0377是8進制數(shù) 其二進制是11111111 2020 1 23 作者 張旭仟版權所有歡迎盜版 20 按位或運算 例程 includemain inta 9 b 5 c c a b printf a d nb d nc d n a b c 運算結果 a 9b 5c 13 2020 1 23 作者 張旭仟版權所有歡迎盜版 21 小練習 4 有以下程序 includemain inta 5 b 1 t t a 2 b printf d n t 程序運行后的輸出結果是A 21B 11C 6D 1 2020 1 23 作者 張旭仟版權所有歡迎盜版 22 位運算賦值運算符 位運算符與賦值運算符可以組成復合賦值運算符 如 例如 a b 相當于a a ba 2 相當于a a 2 2020 1 23 作者 張旭仟版權所有歡迎盜版 23 不同長度數(shù)據(jù)的位運算 注意 如果兩個數(shù)據(jù)長度不同 例如a為int型 而b為short型 進行位運算時 系統(tǒng)會將二者按右端對齊 如果如果b為無符號整型或正數(shù) 則左側16位補滿0 若b為負數(shù) 則左側16位補滿1 2020 1 23 作者 張旭仟版權所有歡迎盜版 24 Thanklisten- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 全國 計算機等級考試 課程 12 運算
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-5210374.html