第一章 計算機系統基礎知識(1)
1.1 資料的表示及運算
1.2.1計算機中的資料的表示
所謂編碼就是採用少量的基本符號,選用一定的組合原則,來表示大量複雜多樣的資訊。
1、進位計數制及其轉換
不同數制的共同特點:
(1)、每一種數制都有固定的符號集。
(2)每一種數制都使用位置表示法。即處於不同位置的數符所代表的值不同,與它所在的位置的權值有關。
進位制位 |
形式識別符號 |
二進位制 |
B |
八進位制 |
O |
十進位制 |
D |
十六進位制 |
H |
1)十進位制計數法與二進位制計數法的相互轉換
2)八進位制計數法與十進位制、二進位制計數法的相互轉換
3)十六進位制計數法十進位制、二進位制計數法的相互轉換
2、二進位制運算規則
(1)、加法:二進位制加法的進位規則是“逢二進一”。
(2)、減法:二進位制減法的借位規則是“借一當二”。
(3)、乘法:
3、機器數和碼制
各種資料在計算機中表示的形式稱為機器數,其特點是採用二進位制計數制,數的符號用0、1表示,小數點隱含表示而不佔位置。
機器數對應的實際數值被稱為數的真值。
對於帶符號數,機器數的最高位是表示正、負的符號位,其餘位則表示數值。
無符號數是針對二進位制來講的,無符號數的表數範圍是非負數,即全部二進位制
為了便於運算,帶符號的機器數可採用原碼、反碼和補碼等不同的編碼方法。
1)原碼錶示法
數值X的原碼記為【X】原,如果機器字長為n(即採用n個二進位制位表示資料),則最高位是符號位,0表示正號,1表示負號,其餘的n-1位表示數值的絕對值。數值零的原碼錶示有兩種形式:【+0】原 = 00000000,【-0】原=10000000
2)反碼錶示法
數值X的反碼記做【X】反,如果機器字長為n,則最高位是符號位,0表示正號,1表示負號,其餘的n-1位表示數值。正數的反碼與原碼相同,負數的反碼則是其絕對值按位求反。數值0的反碼錶示有兩種形式:【+0】=00000000,【-0】=11111111
3)補碼錶示法
數值X的補碼記做【X】補,如果機器字長為n,則最高位為符號位,0表示正號,1表示負號,其餘的n-1位表示數值。正數的補碼與其原碼和反碼相同,負數的補碼則等於其反碼的末尾加1。在補碼錶示中,0有唯一的編碼:【+0】補=00000000,【-0】補=00000000
相對於原碼和反碼錶示,補碼錶示法有一個例外,當符號位為1而數值位全部為0時,它表示整數2^n-1,即此時符號位的1既表示負數又表示數值。
4)移碼錶示法
移碼錶示法是在數X上增加一個偏移量來定義的,常用於表示浮點數中的階碼。如果機器字長為n,在偏移量為2^n-1時,只要將補碼的符號位取反便可獲得相應的移碼錶示。
(在機器中表示一個浮點數時需要給出指數,這個指數用整數形式表示,這個整數叫做階碼,階碼指明瞭小數點在資料中的位置。)(階碼:對於任意一個二進位制數N,可用N=S×2P表示,其中S為尾數,P為階碼,2為階碼的底,P、S都用二進位制數表示,S表示N的全部有效數字,P指明小數點的位置。當階碼為固定值時,數的這種表示法稱為定點表示,這樣的數稱為“定點數”;當階碼為可變時,數的這種表示法稱為浮點表示,這樣的數稱為“浮點數”,這在前面已有介紹。)
4、定點數和浮點數
1)定點數
所謂定點數,就是表示資料時小數點的位置固定不變。小數點的位置通常有兩種約定方式:定點整數(純整數,小數點在最低有效數值位之後)和定點小數(純小數,小數點在最高有效數值位之前)。
當機器字長為n時,定點數的補碼和移碼可表示2^n個數,而其原碼和反碼只能表示2^n-1個數(0表示佔用了兩個編碼),因此。定點數所能表示的數值範圍比較小,運算中很容易因結果超出範圍而溢位。
2)浮點數
浮點數是小數點位置不固定的數,它能表示更大範圍的數。
一個含小數點的二進位制數N可以表示為更一般的形式:
N=2^E*F
其中E稱為階碼,F為尾數,這種表示數的方法稱為浮點表示法。
在浮點表示法中,階碼通常為帶符號的純整數,尾數為帶符號的純小數。
階符 階碼數符 尾數
浮點數所能表示的數值範圍主要是由階碼決定,所表示數值的精度主要是由尾數決定。
當尾數的值不為0時,規定尾數域的最高有效位應該為1,這稱為浮點數的規格化表示。
3) 工業標準IEEE 754
IEEE 754是由IEEE制定的有關浮點數的工業標準
S P M
S為數的符號位,為0時表示正數,為1時表示負數;P為指數(階碼),用移 碼錶示(偏移值為2^p-1 – 1,p為階碼的位數);M為尾數,用原碼錶示。
IEEE中有三種形式的浮點數格式:單精度浮點型,雙精度浮點型。擴充精度浮點型(圖P8)
Eg.利用IEEE754標準將數176.0625表示為單精度浮點數
5、十進位制數與字元的編碼表示
常用的8421BCD碼、餘3碼、格雷碼與十進位制數的對應關係(數P9)
6、ASCII碼
7、漢字編碼
1) 輸入碼
主要分為三類:數字編碼、拼音碼和字形碼
(1) 數字碼
數字碼就是用數字串代表一個漢字的輸入,常用的是國際區為碼。
(2) 拼音碼
拼音碼是以漢語讀音為基礎的輸入方式。
(3) 字形編碼
字形編碼是以漢字的形狀確定的編碼。
3)內部碼
漢字內部碼(簡稱漢字內碼)是漢字在裝置和資訊處理系統內部儲存、處理、傳輸漢字用的程式碼