BCC-16 (in Chinese) 計算機概論十六講 Level 1 -- Lecture D
教學大綱
-
知識
之前,我們已經知道文字、
圖像和音訊在電腦內都以各種位元排列來紀錄。
數當然也是如此。
讀者此時應該已經能夠分辨「數」和「數字」之別,
數有它自己的位元排列規則,
當需要呈現 (輸出在監視器或印表機上) 時,
才轉換成對應數字的位元排列 (通常是 ASCII)。
這一節要認識無號整數、
整數和浮點數這三種「數」在電腦內的位元排列規則。
當然,跟以前一樣,所有位元排列都被改寫成二進制或十進制的數字,
以方便我們閱讀和書寫。
[ 大部分的知識和文化內容都在
課文 內,
這裡談的主要是技能內容 ]
文化
許許多多我們認為電腦「神奇」或「神秘」的表現,
都將一一在學習過程中解開。此時,我們認識了程式語言,
接著應該可以真正進入電腦之實體。而其必經之路,
或許就是真正地認識資料型態。
就像電腦所呈現的詩篇、樂章與彩繪一樣,
它只是據實將位元排列呈現在輸出裝置上,
電腦並不明白那些符號的含意、也沒有必要明白。
計算也是的,它只是根據規則操弄位元排列而已,
它並不明白操弄的含意。
之前,我們經常以擬人化說法來解釋計算機;
從現在起,我們將要比較真實地看看它究竟做了什麼?
技能
知道基本數值資料型態的位元個數和排列規則,
以及因之而衍生的限制。
知道怎樣在不同數值資料型態間轉換資訊。
認識浮點數並明白它的某些計算上的性質。
使用程式語言來列印位元排列是比較低階的技術,
需要較多的程式語言技術才辦得到,
我們列出兩種選擇,但是讀者不必勉強。
電子擴編教材
-
操作技能自習
-
用 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") |
關於這一講內容的歷年考題。
教師或助教,請看這一講的設計理念和教學建議。
這裡還會包含一些教學經驗的交流以及某些評量的統計資料。
(如何申請教師帳號?)
單維彰 (00/04/08) --- 02/01/21 (徐)