位運算,效率高


1、先理解原碼、反碼、補碼

  正數的原碼、反碼、補碼都一樣。

    舉例  10為例。

 

  關鍵是負數。

      原碼:

      反碼:最高位不變,其余的取反得到:1111  1111  1111  1111  1111  1111  1111  0101

      補碼:等於反碼加1。         1111  1111  1111  1111  1111  1111  1111  0110

2、位運算

  位運算符:操作數是整數,但是操作負整數時,用的是補碼!!!!!

  左移   << :  右邊補0

  右移   >>:   左邊補0或1,如果原數最高位是1就補1,是0就補0.

  無符號右移   >>> :  左邊補0

  按位與  & :二進制對應位置取與  ,同時為1才為1,否則為0

  按位或  | :二進制對應位置取或  ,有一個為1就為1

  按位異或運算 ^ :二進制對應位置取異或  ,兩者不同才為1

  按位取反  ~ :二進制對應位置取反  ,原來是1,變為0,原來是0變為1

  說明:位運算符都是機器數直接運算的

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM