close

一、進制
  一.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)

arrow
arrow
    全站熱搜

    o932859222 發表在 痞客邦 留言(0) 人氣()