免費開始練習
地特三等申論題 107年 [電力工程] 計算機概論

第 一 題

📖 題組:
下圖是將一個 10 進位的小數 0.125 轉換為 2 進位的小數 0.001 的過程的示意圖,其結束條件為「乘上 2 後小數部分等於 0」。(每小題 5 分,共 25 分) (一)如果要將一個 10 進位的小數 0.6875 轉換為 2 進位的小數,請你也同上圖一樣,繪圖表示這個過程。 (二)如果要將一個 10 進位的小數 0.3 轉換為 2 進位的小數,請你也同上圖一樣,繪圖表示這個過程。請問會發生什麼困難? (三)請問使用 IEEE-754 的實數表示法後,會不會有誤差?為什麼? (四)上述方法可以推廣轉換到其它進位。如果要將一個 10 進位的小數0.65625 轉換為 16 進位的小數,請你也同上圖一樣,繪圖表示這個過程。 (五)上述方法的結束條件若為「乘上 2 後小數部分等於 0」顯然會造成問題,請問結束條件應該如何修正?
題組圖片
📝 此題為申論題,共 5 小題

小題 (一)

如果要將一個 10 進位的小數 0.6875 轉換為 2 進位的小數,請你也同上圖一樣,繪圖表示這個過程。

思路引導 VIP

本題測驗「十進位小數轉二進位」的乘二取整法。解題關鍵在於將十進位小數不斷乘以 2,依序取出乘積的整數部分作為二進位小數,再將剩餘的純小數部分繼續乘 2,直到小數部分為 0 為止。作答時需依照題意,使用純文字排版(ASCII Art)來模擬原題目圖片中的視覺流程結構。

🤖
AI 詳解
AI 專屬家教

【解題關鍵】十進位小數轉二進位採「乘二取整法」,將小數部分連續乘 2,並依序由左至右取出整數部分,直至小數部分為 0。 【解答】 依據題意之圖示結構,將 10 進位小數 0.6875 轉換為 2 進位的過程繪圖表示如下:

小題 (二)

如果要將一個 10 進位的小數 0.3 轉換為 2 進位的小數,請你也同上圖一樣,繪圖表示這個過程。請問會發生什麼困難?

思路引導 VIP

面對十進位小數轉二進位的題目,直接使用「乘積取整法」(乘2取整數)進行計算。當計算幾步後發現小數部分出現重複數值(如0.6)且無法歸零時,即可切入重點,點出系統將面臨「無限循環」與「精確度誤差」等困難。

🤖
AI 詳解
AI 專屬家教

【解題關鍵】使用「乘積取整法」將十進位小數轉換為二進位小數,並觀察其小數部分是否能收斂至 0。 【解答】 一、 轉換過程(文字模擬繪圖)

小題 (三)

請問使用 IEEE-754 的實數表示法後,會不會有誤差?為什麼?

思路引導 VIP

看到這題應先聯想 IEEE-754 的硬體限制(固定位元數:如單精度32位元或雙精度64位元),並結合前一小題(0.3 轉換為二進位會產生無限循環小數)的現象。推導出因為儲存空間有限,面對無限循環或過長的小數時必須進行截斷或捨入,從而導致誤差的產生。

🤖
AI 詳解
AI 專屬家教

【破題】 會產生誤差。 【論述】

小題 (四)

上述方法可以推廣轉換到其它進位。如果要將一個 10 進位的小數0.65625 轉換為 16 進位的小數,請你也同上圖一樣,繪圖表示這個過程。

思路引導 VIP

看到將10進位小數轉換為任意進位,應立即聯想到「乘基數取整數法」。此題欲轉換為16進位,故基數為16,每次將小數部分乘上16,取出整數部分作為該位數的值(需注意10對應A,以此類推),直到小數部分為0為止。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用「乘基數取整數法」,將 10 進位小數部分反覆乘上 16,並將取出的整數轉換為對應的 16 進位符號(10為A,11為B...)。 【詳解】 計算推導:

小題 (五)

上述方法的結束條件若為「乘上 2 後小數部分等於 0」顯然會造成問題,請問結束條件應該如何修正?

思路引導 VIP

考生看到此題應聯想十進位轉二進位時的「無限循環小數」現象(如0.3),從而發現僅用「小數部分為0」作為結束條件會導致無窮迴圈。解題時必須結合計算機體系結構中「暫存器與記憶體儲存空間有限」的觀念(如IEEE-754的尾數位數限制),提出加入「精確度上限」或「最大位數限制」作為中斷條件。

🤖
AI 詳解
AI 專屬家教

【破題】 若僅以「小數部分為 0」作為結束條件,當遇到無法精確轉換為二進位的十進位小數(如 0.3 會產生無限循環小數)時,將導致轉換過程陷入無窮迴圈。因此必須結合硬體限制進行修正。 【論述】

升級 VIP 解鎖