1(a)七位元二補數的表示範圍
考點:二進位補數表示法(2's Complement):範圍、加減法與優點
最大 (0111111),最小 (1000000)。
考點:二進位補數表示法(2's Complement):範圍、加減法與優點
最大 (0111111),最小 (1000000)。
考點:二進位補數表示法(2's Complement):範圍、加減法與優點
,即十進位 。
考點:漢明距離(Hamming Code Distance)
最小 Hamming Distance 為 3,最多可偵測 2 個錯誤、更正 1 個錯誤。
考點:漢明距離(Hamming Code Distance)
ACBD。
考點:位元遮罩(Bit Mask)技巧:以 AND 清除(Clear)、以 OR 設定(Set)特定位元
6 個位元。
考點:位元遮罩(Bit Mask)技巧:以 AND 清除(Clear)、以 OR 設定(Set)特定位元
F3。
考點:OS Kernel 核心職責
考點:CPU 中斷機制運作流程
例子:時間片用完需要切換行程;程式發生除以零、非法記憶體存取等例外。機制:中斷,由硬體計時器發出計時器中斷強制把控制權交回 kernel。
考點:OSI 七層與 TCP/IP 四層對照
| 層 | 功能 |
|---|---|
| Application Layer(應用層) | 提供網路應用(HTTP、SMTP、FTP),產生要傳送的訊息,並透過 DNS(Domain Name System,網域名稱系統)取得目的端位址 |
| Transport Layer(傳輸層) | 把訊息切成 segment,以 port 交給目的端對應的應用程式;TCP 另負責編序號、依序重組、確認與重傳 |
| Network Layer(網路層) | 為封包加上 IP 位址,由路由器決定封包在網際網路中的轉送路徑 |
| Link Layer(鏈結層) | 在單一網路上實際傳送 frame,處理實體位址(MAC)與傳輸媒介的存取 |
考點:TCP 三向交握、流量控制與壅塞控制、CSMA/CD 與 CSMA/CA 碰撞處理機制、RTS/CTS 解決 Hidden Terminal Problem
| CSMA/CD(鏈結層) | TCP(傳輸層) | |
|---|---|---|
| (1) 為何重送 | 共用傳輸媒介上兩台以上的裝置同時傳送,訊號發生碰撞,frame 被破壞 | 端對端路徑上的 segment 遺失或損毀(路由器壅塞丟棄、傳輸錯誤),接收端沒有收到正確的資料 |
| (2) 如何偵測 | 傳送端一邊傳送一邊監聽媒介,聽到的訊號與送出的不一致即判定碰撞,停止傳送、依二元指數退避(binary exponential backoff)隨機等待後重送 | 傳送端等待接收端的確認(ACK):重傳計時器逾時仍未收到 ACK,或連續收到 3 個重複 ACK,即判定 segment 遺失而重傳 |
考點:Binary Tree 的陣列表示法(Array Representation)與親子節點索引公式
(1) 陣列:依 level-order 存放,root 在索引 1,節點 的左右子節點在 、,空節點留空格;走訪時以索引計算子節點,例如前序先處理 再走 、。
(2) 指標:節點含資料與 left、right 指標,空子樹為 NULL;從 root 沿指標遞迴走訪(或以 stack、queue 改寫成迴圈)。
考點:Binary Tree 的陣列表示法(Array Representation)與親子節點索引公式
陣列需 bytes,指標結構需 bytes;當 時陣列較省,也就是空格少(樹接近 full binary tree),且資料欄位 相對指標 越小越容易成立。
考點:漸近符號正式定義(O、Θ、o)
正確。取 、、: 時 ,故 。
考點:漸近符號正式定義(O、Θ、o)
錯誤。若 對所有 成立,則 ;但取 時 ,矛盾,故不是 。
考點:遞迴(Recursion)基本概念:分而治之與 Base Case
int fact (int N){
int result = 1;
for (int i = 2; i <= N; i++)
result = result * i;
return result;
}
考點:迭代結構(Iterative Structure):前測與後測迴圈、迴圈三要件與追蹤除錯法
i = 0;
while (i < 100) {
if (i % 2 == 0){
print (i)
}
i++;
}
考點:圖靈機(Turing Machine):組成、狀態表與設計範例
假設:tape 上以二進位存放數值,左右兩端各有一個 *;machine 從 START 狀態開始,讀寫頭位於右端的 *。
| 目前狀態 | 目前格內容 | 寫入 | 移動方向 | 下一個狀態 |
|---|---|---|---|---|
| START | * |
* |
左 | SUBTRACT |
| SUBTRACT | 1 | 0 | 右 | RETURN |
| SUBTRACT | 0 | 1 | 左 | SUBTRACT |
| RETURN | 0 | 0 | 右 | RETURN |
| RETURN | 1 | 1 | 右 | RETURN |
| RETURN | * |
* |
不移動 | HALT |
例:*101*(5)執行後為 *100*(4);*100*(4)執行後為 *011*(3)。