c/c++ 右移>>運算符


c/c++的移位運算符

  • 在做無符號類型的左移和右移時,空位補0

  • 在做有符號位的正數左移和右移時,依然遵循,空位補0

  • 但是在做有符號的,負數類型的移位運算時,左移依然遵循空位補0,右移則是負數空位補1,正數空位補0

為什么會出現這種情況?因為計算機采用補碼形式進行存儲,正數的補碼是其本身,負數則是按位取反再加1;為了不影響符號位,出現了上述的情況下,


免責聲明!

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



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