1. 程式人生 > >CSAPP —— 信息的表示和處理

CSAPP —— 信息的表示和處理

表示 之間 定義 符號 有符號數 csapp 處理 進制數 span

一、補碼

1、補碼的定義:

2、補碼與其對應無符號數之間的關系

例如,當二進制數1011 是一個無符號數時,其對應的十進制是: 2^3 + 2^1 + 2^0 = 11

當二進制數1011 是一個有符號數時,此時1011為補碼,所以其對應的十進制是: -2^3 + 2^1 + 2^0 = -5

從這裏可以看出,兩者之差為: (2^3 + 2^1 + 2^0)-(-2^3 + 2^1 + 2^0) = 2 * (2^3) = 2^4 = 16,也即兩者的絕對值之和為2^w,(其中w為數據表示中的位數)

所以從中可以得出,當某個有符號二進制補碼為負數時,轉化為十進制之後,其絕對值與其對應的無符號數之和為2^w,(其中w為數據表示中的位數)

當其為正數時,其無符號數形式與其有符號數形式相等

CSAPP —— 信息的表示和處理