c語言位運算說明加舉例.doc_第1頁
c語言位運算說明加舉例.doc_第3頁
c語言位運算說明加舉例.doc_第4頁
c語言位運算說明加舉例.doc_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

請記住:計算機存儲的是源碼 但是在運算的時候使用補碼進行運算-89 按兩字節來運算 先得到二進制的數0x59-b 0101 1001源碼1000 0000 0101 1001反碼 符號位不變,其他位按位取反1111 1111 1010 0110補碼 +11111 1111 1010 0111再把這個數取回源碼先得到反1000 0000 0101 1000再得到補+1 得到源1000 0000 0101 1001& 按位與 邏輯上這個符號與 & 相似 (全是真才為真)0100 10000110 1001 相 & 得到0100 100087 & -23 得到0x570000 0000 0101 0111-23 的 補碼為0x17-b0001 01111000 0000 0001 01111111 1111 1110 1000 =反碼1111 1111 1110 1001 =補碼0000 0000 0101 01111111 1111 1110 10010000 0000 0100 0001 =最后得到的是這個| 按位或 邏輯跟這個|符號相似 (有一個為真就為真)1010 10101110 1100 相 | 得到1110 1110 56 | -14 0x380000 0000 0011 1000-14-b 0000 11101000 0000 0000 11101111 1111 1111 00011111 1111 1111 00100000 0000 0011 10001111 1111 1111 00101111 1111 1111 10101000 0000 0000 0101 =取反 1000 0000 0000 0110 =這是得到的源碼 符號為不變 這是-6 按位取反 邏輯跟 ! 相似 對一個數取反得到的是它的相反數在減1 50000 0101 1111 10101000 01011000 0110-63 = -4 (-5) = 40000 00111111 1100 取反 這個是補碼1000 0011 得到反碼1000 0100 源碼0000 01011111 10101111 1011 這里是取反+10000 0100 異或 不同為一相同為零0010 11000011 0010 0001 1110 18 -320x120000 0000 0001 00101000 0000 0010 0000 -320000 0000 0001 00101111 1111 1110 0000 -32的補碼1111 1111 1111 0010 得到的這個也是補碼1000 0000 0000 11011000 0000 0000 1110 這個是源碼計算 a = a bb = a ba = a ba = -17 b = 30a = a b1000 0000 0001 0001 -17源碼1111 1111 1110 1111 補碼0000 0000 0001 1110 1111 1111 1111 0001 這是補碼b = a b1111 1111 1111 0001 新A0000 0000 0001 1110 1111 1111 1110 1111 新Ba = a b1111 1111 1111 0001 1111 1111 1110 1111 0000 0000 0001 1110 30 1000 0000 0001 0001 -17 這是對新B取反得到ayub = o_a o_b;n_b = ayub b = o_a;n_a = a b = ayub n_b = ayub o_a = o_b; 上面 ayub的意思是 ab的區別 左移 8 2 0000 0000 0000 1000000000 0000 0010 00最前面的兩位被取消掉 后面的兩位補零0000 0000 0010 0000 得到321 1 0000 0000 0000 00010000 0000 0000 0010 22 20000 0000 0000 00100000 0000 0000 1000 4-3 右移 大多數情況下 正數右移一位最前一位補0 負數最前面一位補1-2 11000 0000 0000 00101111 1111 1111 11011111 1111 1111 1110 這是補碼1111 1111 1111 1111 補碼向左移一位1000 0000 0000 0001 -1點亮某一位 用 | 如: 0 - 31位0111 0011 1100 10000000 0000 0000 0100 |0111 0011 1100 010

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論