8位二進制的數轉為10進制:
正數:
比如1,一定要轉為00000001(原碼),高位是0(補碼等於原碼),直接計算得十進制1,
負數:
比如11111111(原碼),最高位是1,表示負數;符號位不變其他位取反再加一,取反為10000000(反碼),然后加一為10000001(補碼),表示十進制-1
十進制數轉為8位二進制數:
需要引入一個概念:模
正數:
比如5,二進制數字為 00000101,正數計算機存儲的數字與轉化的二進制相等,為00000101
負數:
比如-5,二進制存儲的數字為(256-5=251=11111011)(這里不需要考慮符號位),十進制的負數表達方式為 【十進制負數的二進制表達方式就是它絕對值的補數】,這里因為模是256,補數就是251
感謝下面兩位大神: