教學大綱

知識

之前,我們已經知道文字、 圖像和音訊在電腦內都以各種位元排列來紀錄。 當然也是如此。 讀者此時應該已經能夠分辨「數」和「數字」之別, 有它自己的位元排列規則, 當需要呈現 (輸出在監視器或印表機上) 時, 才轉換成對應數字的位元排列 (通常是 ASCII)。 這一節要認識無號整數、 整數和浮點數這三種「數」在電腦內的位元排列規則。 當然,跟以前一樣,所有位元排列都被改寫成二進制或十進制的數字, 以方便我們閱讀和書寫。
[ 大部分的知識和文化內容都在 課文 內, 這裡談的主要是技能內容 ]

文化

許許多多我們認為電腦「神奇」或「神秘」的表現, 都將一一在學習過程中解開。此時,我們認識了程式語言, 接著應該可以真正進入電腦之實體。而其必經之路, 或許就是真正地認識資料型態。 就像電腦所呈現的詩篇、樂章與彩繪一樣, 它只是據實將位元排列呈現在輸出裝置上, 電腦並不明白那些符號的含意、也沒有必要明白。 計算也是的,它只是根據規則操弄位元排列而已, 它並不明白操弄的含意。 之前,我們經常以擬人化說法來解釋計算機; 從現在起,我們將要比較真實地看看它究竟做了什麼?

技能

知道基本數值資料型態的位元個數和排列規則, 以及因之而衍生的限制。 知道怎樣在不同數值資料型態間轉換資訊。 認識浮點數並明白它的某些計算上的性質。 使用程式語言來列印位元排列是比較低階的技術, 需要較多的程式語言技術才辦得到, 我們列出兩種選擇,但是讀者不必勉強。

電子擴編教材

1.19: 對位記數法在實數線上的小數觀念 1.26: 一些關於資料型態的故事

1.32: 實數化約成浮點數的規則

操作技能自習

用 Matlab 查看雙精度浮點數的位元排列

Maltab 的內建輸出模式 hex 可以讓我們很方便地觀察雙精度浮點數的位元排列。 如果讀者已經學習了 Matlab 這份套裝軟體, 請看第B講 [Matlab 線上教材] 交遊篇內《利用 Matlab 認識 IEEE 浮點數標準》前後幾節, 並跟著實驗看看。

用 C 語言查看所有資料型態的位元排列

C 語言支援所有這一講所提到的基本資料型態, 我們可以用它來寫程式,把這些基本資料型態的位元排列印出來。 如果讀者已經到達 C 語言操縱指標變數的程度, 請看第C講 [C 程式語言線上教材] 追求篇內《列印記憶體內的位元排列》前後幾節,並跟著實驗看看。

其他教學資源

課文內容自我檢定

讀過課文之後,用此工具檢查是否瞭解內容。

講課數位影片


前言(8'13") 無號整數(6'11") 整數(14'17") 二進制小數與科學記數法(12'23")
浮點數(25'12") 浮點數計算(9'44") 整數計算(10'54") 資料型態(2'50")

考古題

關於這一講內容的歷年考題。

教師手冊

教師或助教,請看這一講的設計理念和教學建議。 這裡還會包含一些教學經驗的交流以及某些評量的統計資料。 (如何申請教師帳號?)

Up BCC16 Home Chap 0 Chap 1 Chap 2 Chap 3 Chap 4 Chap 5 Chap 6 Chap 7 Chap 8 Chap 9 Chap A Chap B Chap C Chap D Chap E Chap F Pool Copyright User
製作人、
修改記錄
單維彰 (00/04/08) --- 02/01/21 (徐)