一、進制
一.k→10
二.10→k
三.2^a→2^b
二、整數
一.unsigned
二.signed
1.signed magnitude
2. 1's 補數
3. 2's 補數
三、float:IEEE 754
四、文字表示法
一.文字 & 符號
1.ASCII
2.EDCBIC
3.Unicode
二.數字編碼
五、圖形 bitmap
//================================================================================================================================================
因為電腦只能儲存 0 和 1,所以必須將各式各樣的資料 encode(編碼)以進行儲存。同時,將 0 和 1 的訊息 decode(解碼)回原本資料。
一、數字系統
一.數字表示法
一個 C 進制的數字 B,可將其表示為 B(c)。
二.k 進制之數字
若有一數字[a(n)a(n-1)a(n-2)...a(2)a(1)a(0)](k),其中a(i)代表此數字之某一位數且其加權值是 k^i。
三.常用進制:2,8,16
二進位(binary),八進位(octal),十進位(decimal),十六進位(hexadecimal)
四.進制轉換
1.k 進制轉十進制
依定義轉換即可
2.十進制轉 k 進制
整數部份除 k 取餘數、小數部份乘 k 取整數
3. 2^a 轉 2^b
先用 a 個 bit 表示,在以每一組 b 個 bit 組合。
二、整數表示法
所有正數的表示法均相同,有差別的僅在負數部份。
一.unsigned
用 n 個 bit 表示一整數,以 binary 的方始儲存。範圍:0~2^n-1
二.signed magnitude
方法:第一個位元儲存正負,後面則以一般二進位方式儲存
範圍:2^(n-1)-1 ~ -(2^(n-1)-1)
優點:易讀複數部份的值
缺點:減法需另外設計、有兩個零
三. 1's complement
方法:將所有位元反向
範圍:2^(n-1)-1 ~ -(2^(n-1)-1)
優點:減法運算可以用加法實現
缺點:有兩個零
減法運算:(求 A-B)
a.將 B 取 1's 的補數,得 B'
b.算出 A + B'
c.若有 end-round-carry 則 ans = A + B'+ 1,否則 ans = A + B'
end-round-carry : 最高位的加法運算是否有進位
四. 2's complement
方法:將所有位元反向後在加 1
範圍:2^(n-1)-1 ~ -2^(n-1)
優點:減法運算可以用加法實現、只會有一個零
減法運算:(求 A-B)
a.將 B 取 2's 的補數,得 B'
b.算出 A + B'
(note)在做同號相加的運算時,需注意 Overflow
三、浮點數表示法
一.IEEE 754 normalization
一個實數在正規化後會符合以下條件
1.將小數點移動 k 個 bit,使其變成 1.xxx (hidden-1)
2.在乘上 2^k (往左移:k 取正,往右移:k 取負)
二.excess-k 表示法 (超 k 表示法)
在 excess-k 表示法下,用 k 來表示零,用 k+1 來表示 1,用 k-1 來表示 -1。在 32 位元下,通常在 8 位元下 k 取 127。
用 excess-k 可以比較容易比較正負數的大小。
三.IEEE 754
0 :sign,0 為正,1 為負。
1~ 8:指數。使用 excess-127。
9~31:值的區域。使用 hidden-1。
四、文字表示法
一.ASCII:英文字母、符號、控制碼、表格。
二.EBCDIC:大型電腦專用編碼(MainFrame),萬國碼。
三.Unicode:萬國碼,也可稱為 UTF-8。
五、數字表示法
一.BCD
方法:將 0~9 以 binary 編碼(一般的 2 進位)。
二.2421
1.共 4 個 bit,分別代表 2,4,2,1。
2. 0~4 的第一個 bit 是 0,5~9 的第一個 bit 是 1。
3.其值為要編碼之數字值
0:0000 , 1:0001 , 2:0010 , 3:0011 , 4:0100
9:1111 , 8:1110 , 7:1101 , 6:1100 , 5:1011
4.自互補式編碼(簡稱:自補碼)
三.84-2-1
1.共 4 個 bit,分別代表 8,4,-2,-1。
2. 0~4 的第一個 bit 是 0,5~9 的第一個 bit 是 1。
3.其值為要編碼之數字值
0:0000 , 1:0111 , 2:0110 , 3:0101 , 4:0100
9:1111 , 8:1000 , 7:1001 , 6:1010 , 5:1011
4.自互補式編碼(簡稱:自補碼)
四.excess-3
1.自互補式編碼(簡稱:自補碼)
五.gray code
1.相鄰的編碼只差一個 bit
0:0000 , 1:0001 , 2:0011 , 3:0010 , 4:0110
5:0111 , 6:0101 , 7:0100 , 8:1100 , 9:1101
六、錯誤檢查碼與更正碼
一.parity bit
1.parity bit 分成 odd parity 和 even parity,使用 parity bit 的資料會在後面加上一個 parity bit,使得 string 中 1 的個數符合 odd 或 even。
2.若錯誤一個位元,則可發現錯誤;若錯誤兩個位元,可能會無法發現錯誤。
3.可檢查出資料是否有誤,但無法進行更正。
二.CRC (Cycle Redundant Check)
1.作法:
a.協調出 p
b.求出 r = m / p ( m 為欲傳之資料)
c.送出 m + r
d.算出 m / p 之餘數
e.判斷是否為 r
三.Hamming Code
1.Hamming Distance
相同長之兩個 string 之對應位元的相異數量,即為 Hamming Distance。
2.若兩個 code word 間之 Hamming Distance 至少差 d,則:
a.若錯誤的 bit 數小於 d-1 個,則可發現有誤。
b.若錯誤的 bit 數小於 (d-1)/2 個,則可更正。
七、圖形表示法
一.結構
由長乘寬個 pixel 所構成,一個 pixel 可表示 2^n 種 color
(note)表現顏色的方式:
1.RGB 色光三原色(紅色 Red,綠色 Green,藍色 Blue)
2.CYMK 色彩三原色+黑色(青色 Cyan,粉紅色 Magenta,黃色 Yellow,黑色 Black)
公告版位
若有資料錯誤請不吝指教。
- Oct 13 Tue 2009 21:32
[計概]第二章 數字系統與資料表示法
close
全站熱搜
留言列表
發表留言