計算機組成原理與體系結構----數據表示

  • 數據的表示
  • 計算機結構
  • Flynn分類法
  • CISC與RISC
  • 流水線技術
  • 存儲系統
  • 總線系統
  • 可靠性
  • 校驗碼

 

  • 數據的表示

1、進制

(1)m進制轉十進制,使用按權展開法,具體方式爲:將m進制的每一位數值用m的n次方表示,n與當前位和小數點之間的位數有關。噹噹前位位於小數點左側時,n值是當前位和小數點之間數字的個數;噹噹前位位於小數點右側時,n值是負數,其絕對值是當前位和小數點之間數字個數加1。

例子:

二進制轉十進制:11011.011 = 1 \times 2^{4} + 1 \times 2^{3} + 0 \times 2^{2} + 1\times 2^{1} + 1\times 2^{0} + 0\times 2^{-1} + 1\times 2^{-2} + 1\times 2^{-3}

七進制轉十進制:613.02 = 6\times 7^{2}+1\times 7^{1}+3\times 7^{0}+0\times 7^{-1}+2\times 7^{-2}

(2)十進制轉m進制,使用短除法,具體方式爲:將十進制數除以m獲取每次的餘數,將餘數按逆向排序的數字即爲十進制數對應的m進制數。

例子:

十進制轉二進制:97轉2進制

97/2=48餘1

48/2=24餘0

24/2=12餘0

12/2=6餘0

6/2=3餘0

3/2=1餘1

1/2=0餘1

所以,97轉2進制是1100001

(3)二進制與八進制和十六進制之間的轉換

二進制數從右向左每3位轉一位八進制,左側不足3位的用0補充;

二進制數從右向左每4位轉一位十六進制,左側不足4位的用0補充。

例子:

10 001 110 => 010 001 110 => 216

1000 1110 => 8E

(4)八進制與十六進制之間的轉換,可通過二進制實現。

2、編碼

(1)數據的編碼有原碼、反碼、補碼、移碼。

(2)數據編碼的取值範圍:

編碼 取值範圍
原碼 -(2^{n-1}-1) ~ 2^{n-1}-1
反碼 -(2^{n-1}-1) ~ 2^{n-1}-1
補碼 -2^{n-1} ~ 2^{n-1} -1

補碼比原碼和反碼錶示的範圍大一個數,是因爲在0數字上,原碼和反碼錶示0佔用了2個二進制數,而補碼佔用了1個二進制數。

0的原碼 0000 0000 和 1000 0000

0的反碼 0000 0000 和 1111 1111

0的補碼 0000 0000 和 0000 0000,即0000 0000

3、浮點數及其運算

(1)浮點數表示

N = M \times R^{n}

其中,M稱爲尾數、R是基數、n是階數(指數),M的取值範圍1.0 <= M < 10。

(2)浮點數的計算

對階 => 尾數計算 => 結果格式化

例子:1.0 \times 10^{3} + 1.19 \times 10^{2}

步驟1:對階

把相加的兩個數的階數按高階轉換: 1.0 \times 10^{3} + 0.119 \times 10^{3}

步驟2:尾數計算 1.119 \times 10^{3}

步驟3:結果格式化,結果符合浮點數格式,步驟省略。

如果在步驟1中階數向低階轉換,10 \times 10^{2} + 1.19 \times 10^{2} = 11.19 \times 10^{2} = 1.119 \times 10^{3},在最後一步仍需要將階數轉成高階,步驟繁瑣了。因此在步驟1中將階數轉爲高階。

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