機器數與真值
機器數
真值
編碼
原碼
特點
表示范圍
求真值方法
反碼
特點
補碼
特點
表示范圍
求真值方法
移碼
特點
表示范圍
求真值方法
相互轉換
原碼<->補碼
補碼<->移碼
原碼<->反碼
反碼<->補碼
移位
左移
右移
- 邏輯右移
- 算術右移
符號擴展
零擴展
- 整數
- 小數
符號擴展
運算器部件
一位加法器
串行進位加法器
并行進位加法器
定點數的加減法
運算規則
- 加法
- 減法
運算電路
溢出判別
四種情況:
- 正+正=負
- 負+負=正
- 正-負=負
- 負-正=正
一位符號位
雙符號位(模4補碼)
標志計算
SF????????僅對帶符號數有效
OF????????僅對帶符號數有效
CF????????僅對無符號數有效
ZF
浮點數
表示格式
一般浮點數的規格化
意義:
使非零浮點數在尾數最高數位上保持有效值
操作:
- 左規
- 右規
尾數為原碼
正數
負數
尾數為補碼
正數
負數
IEEE754
表示格式
- float
- double
規格化
真值和機器數的轉換
加減運算
- 對階
- 尾數求和
- 規格化
- 舍入
- 溢出判斷
C語言強制類型轉換
(float)(int)
(double)(int/float)
(float)(double)
(int)(float/double)