1. 程式人生 > >第六章——計算機的運算方法

第六章——計算機的運算方法

邏輯右移和算術右移

邏輯右移補0
算術右移填充符號位的值

計算機中如何表示小數?

現代計算機中浮點數一般採用IEEE 754 標準。

單精度浮點數(float):
符號部分+指數部分(也叫階碼)+尾數部分
尾數部分:將小數點前面的值固定為1(正則表示式),尾數越多,精度越高
指數部分使用移碼(可簡化浮點數的運算)

各種碼制:

反碼:解決負數加法運算問題,將減法運算轉換為加法運算,從而簡化運算規則
補碼:解決負數加法運算正負零問題,彌補了反碼的不足
移碼:解決數值比較複雜,運算複雜等問題
總之,反碼與補碼都是為了解決負數運算問題,跟正數沒關係,因此,不管是正整數還是正小數,原碼,反碼,補碼都全部相同。
一個正數和負數互為補數時,他們的絕對值之和為模數

總結

1、正數的原碼、補碼、反碼均為其本身;
2、負數(二進位制)的原碼、補碼、反碼公式:
反碼 = 原碼(除符號位外)每位取反
補碼 = 反碼 + 1
移碼 = 補碼符號位取反