Java中二進制及int和long的符號占位


二進制

  • Java整數常量默認是int類型,當用二進制定義整數時,其第32位是符號位;當是long類型時,二進制默認占64位,第64 位是符號位
  • 二進制的整數有如下三種形式:
    •  原碼:直接將一個數值換成二進制數。最高位是符號位
    •  負數的反碼:是對原碼按位取反,只是最高位(符號位)確定為1
    •  負數的補碼:其反碼加1
  • 計算機以二進制補碼的形式保存所有的整數。
    •  正數的原碼、反碼、補碼都相同
    •  負數的補碼是其反碼+1

為什么要使用原碼、反碼、補碼表示形式呢?計算機辨別“符號位”顯然會讓計算機的基礎電路設計變得十分復雜! 於是人們想出了將符號位也參與運算的方法. 我們知道, 根據運算法則減去一個正數等於加上一個負數, 即: 1-1 = 1 + (-1) = 0 , 所以機器可以只有加法而沒有減法,這樣計算機運算的設計就更簡單了。




將10進制轉換為2進制


免責聲明!

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



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