數據的機器級表示

前言

在計算機中,帶符號數默認採用補碼錶示,因爲利用補碼進行減法比較方便。

編碼概論

計算機系統內部,所有的信息都是二進制編碼的,常用大R表示進制,比如R=2代表二進制。

定點與浮點的表示

在日常生活中,有整數與非整數實數之分,區別在於整數的小數點固定在最右邊,而非整數實數的小數點位置不固定。在計算機二進制中,把小數點固定的數稱爲定點數,把小數點位置可浮動的稱爲浮點數。

定點表示

定點小數: 小數點總是固定在數的最左邊;
定點整數: 小數點總是固定在數的最右邊。

浮點表示

根據IEE754標準,任何二進制數都可以表示爲如下在這裏插入圖片描述
其中s表示的是數字V的符號;M是一個二進制定點小數,成爲數字V的尾數;E是二進制定點整數,成爲數V的階碼或者指數;2是基數。

定點數的編碼表示

在日常生活中用±符號表示數字的正負,在計算機中,我們只有0和1,因此我們需將符號數字化,一般規定0爲正號,1爲負號,任何一個浮點數都可以表示爲一個定點小數和一個定點整數,因此只需要考慮定點數的編碼表示即可。主要有四種定點數編碼表示法:

原碼錶示法

原碼錶示法中,正數與負數盡在符號位不同,數值部分相同。例如:
【+0】 = 0 0000…
【-0】 = 1 0000…

優點: 表示簡單,轉換簡單,利於實現乘除運算
缺點: 0的表示不唯一,加減法則複雜
因此現代計算機中一般不用原碼錶示整數,只用定點原碼小數來表示浮點數的尾數部分。

補碼錶示法

正數的補碼是其本身
負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)
詳見:cnblogs.com/zhangziqiu/archive/2011/03/30/computercode.html

優點: 實現加減法的統一

反碼錶示法

正數的反碼是其本身
負數的反碼是在其原碼的基礎上, 符號位不變, 其餘各位取反,

缺點: 0的表示不唯一,表示範圍比補碼上一個最小負數,運算時候必須考慮循環進位

移碼錶示法

詳見:cnblogs.com/zhangziqiu/archive/2011/03/30/computercode.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章