以8位二進制整數為什么最小數是-128的問題


8位二進制的數轉為10進制:

  正數:

    比如1,一定要轉為00000001(原碼),高位是0(補碼等於原碼),直接計算得十進制1,

  負數:

    比如11111111(原碼),最高位是1,表示負數;符號位不變其他位取反再加一,取反為10000000(反碼),然后加一為10000001(補碼),表示十進制-1

十進制數轉為8位二進制數:

  需要引入一個概念:模

  正數:

    比如5,二進制數字為 00000101,正數計算機存儲的數字與轉化的二進制相等,為00000101

  負數:

    比如-5,二進制存儲的數字為(256-5=251=11111011)(這里不需要考慮符號位),十進制的負數表達方式為 【十進制負數的二進制表達方式就是它絕對值的補數】,這里因為模是256,補數就是251

 感謝下面兩位大神:

參考地址一

參考地址二


免責聲明!

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



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