計算機中數的表示


注:主要說明整數和浮點數的表示方法。

參考資料:《計算機組成原理》(第2版 唐朔飛 著 ) 以及北航計算機組成原理課件。

1 無符號數和有符號數

無符號數:所有位都是數值位,沒有符號位;

有符號數:編碼最高位為符號位,“0”表示“正數”,“1”表示“負數”。

2 定點小數和定點整數

(1)定點小數:絕對值小於1;

例如:十進制的0.75,表示為二進制為01100000

轉換的規則,可參考百度問答:https://zhidao.baidu.com/question/1836447347903048020.html

我們規定總長度為7位,接着依次計算:
0.75*2=1.5 整數1,小數部分為0.5,繼續轉換;
0.5*2=1.0  整數1,小數部分為0,轉換完畢;
0.75d=0.11b=0.1100000b,低位添0補充到8位。

(2)定點整數:沒有小數部分;

整數的十進制和二進制轉換就用除基取余法就可以了,就不再解釋了。

3 原碼、反碼、補碼

但用符號位和數值位來表示數值時,可用原碼、反碼、補碼表示方式。它們的表示范圍如下:

以-3為例進行說明

原碼:1000 0011 = 128 + 3
反碼:1111 1100 = 255 - 3
補碼:1111 1101 = 256 - 3 

4  浮點數的表示

(1)浮點數在機器中的表示

形式如下,由階碼和尾數兩部分組成:

階碼:定點整數表示,階碼和階符的位數m合起來歡迎浮點數的表示范圍以及小數點的實際位置。

尾數:定點小數表示,其位數n反應浮點數的精度。

數符:表示浮點數的正負。

舉例進行說明:178.125d = 10110010.001b = 0.10110010001×201000

階碼:01000

尾數:0.10110010001

簡單說一下計算過程:

178d = ‭‭‭10110010‬

0.125d = 0.001b

‬‬178.125d = 10110010‬.001b,左移8位,相當於0.10110010001乘以201000

(2)IEEE 754標准

 現代計算機,浮點數一般采用IEEE標准,標准形式如下:

數符s:表示浮點數的正負。

階碼:階碼的真值都被加上一個常數(偏移量),如短實數、長實數的偏移量用十六進制表示為:7FH、3FFH。

尾數:常用規格化表示,即非“0”的有效位最高位總是“1”。

常用的浮點數有:

 舉例進行說明:

至此,計算機中數的表示基本說完了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM