第一章 緒論
此章主要是講了計算機的發展史,最令人印象深刻的是阿蘭.圖靈1937年提出的圖靈模型,他設想有這么一個機器,人們的計算過程它都會,輸入數據就能得到計算后的結果。這人只是提出了個哲學設想,他並不會發明機器。后來馮.諾伊曼根據圖靈模型,又提出了個模型,指出程序也可以存儲在存儲器中。
再接着講了一些計算機的發展史,1950年之前的計算機都是通過改變配線或開關的方式實現,編程在外部,不是基於馮.諾伊曼模型的計算機。1950年賓夕法尼亞大學發明出了第一台基於馮.諾伊曼模型的計算機,命名為EDVAC。后來就慢慢發展到了現在眼前這樣子的計算機。
第二章 數字系統
就是現在表示數字的方式,分為位置化數字系統和非位置化數字系統。
位置化數字系統中,十進制,二進制,八進制的表示以及轉換。這主要是簡單的數學問題了,多練習練習應該能掌握。
非位置化數字系統有羅馬數字。確實,這種表示數字的方式很有新意,但是好麻煩。
第三章 數據存儲
計算機是一個可編程的數據處理器,書上說的。要處理數據,總得先知道什么是數據吧。數據的表現形式很多,包括數字、文本、音頻、圖像、視頻,當然這些在計算機工業中有個專門術語叫‘多媒體’。
計算機存儲的最小單位是位:bit。通常8位稱為一個字節:byte。還有一個更長的稱為字:word。
計算機對數字的存儲時,存儲之前要將數字轉換為二進制。
整數的存儲:定點表示法,如圖:
1.無符號表示法:就是沒有正負號的表示法,介於0~+∞。轉換為二進制即可。如7存儲在八位計算機中:(00000111)2。
溢出就是加了一個數字之后超過了位數能表示的數,計算機會自動舍棄左邊超過的部分。如下圖計算機4位的11+9等於10100,結果卻為4。:
無符號整數主要應用於:計數,尋址,為其他類型比如文本、圖像等排序。
2.符號加絕對值表示法:一般不用於存儲整數,常用於采樣模擬信號。最左位用於存儲正負號。
3.二進制補碼表示法:幾乎所有計算機都使用此方法表示儲存於n位存儲單元中的有符號整數。
兩種運算:反碼和補碼。反碼就是0變1,1變0。補碼:正數的補碼是其二進制本身。負數的補碼是絕對值的補碼。補碼的運算可由上圖規律得到,從右邊復制直至復制到1,其余反轉各位。
補碼的溢出:
如:28的補碼:00011100。-28的補碼:11100100。
二進制補碼僅有一個0,符號加絕對值表示法有兩個零。
兩次取補碼,得到原來的整數。
實數的存儲:帶有很大的整數部分或很小的小數部分不應該用定點表示法存儲。
有一個小數點固定的表示法:如金額一般小數點后有兩位,此類實數可以用定點表示,此方法精度和表示范圍有限,后來出現了浮點表示法,用科學計數法表示實數。
指數:可正可負,用余碼表示法表示。
余碼系統:
如四位偏移量為:24-1-1=7。
余碼系統可以直接采用二進制轉十進制的方法,首位不再表示正負也參與轉換。但是余碼系統通過偏移量仍然表示了負數。
比如我往計算機存了二進制表示的數字9,計算機讀取的時候知道那代表的是2,我也知道我把2存成了9。余碼系統的優點是不用像補碼系統那樣需要調整數字順序,而且都是正數,比較或運算更加簡便。
IEEE(電氣和電子工程師協會)定義了最常用的兩種存儲浮點數的標准。
浮點數表示法步驟及實例:
特殊情況:0.0的存儲采用符號位、指數位、尾數位都為0的表示方式。
float的溢出與臨界值的計算:
按照計算來說,正的最大值應該是約等於2的129次方,不知道為啥是2的128次方。可能和IEEE對的無窮大的特殊規定有關吧,搜了半天百度也沒百度出來,等讀了碩士再研究吧。
存儲文本:
要存儲文本,就要存儲文字。英文好辦,就那么幾個字母,漢文有這么多漢字,要用0和1表示出來,需要好多位才能表示完。
美國國家標准協會(ANSI)開發了一個被稱為美國信息交換標准碼的代碼,ASCII。該代碼用7位表示每個字符。可以定義出2的7個字符,共128個。有個表規定了每個字符的表示方式。
硬件和軟件制造商聯合起來共同制定了一種名為unicode編碼,采用32位表示字符,可表示4294967296個符號,全世界所有的符號都能表示出來了。ASCII編碼是Unicode的子集。這些文字和位的對應都是約定死的,真難以想象那些給這些文字編碼的工作人員制定時會有多無聊。
存儲音頻:采樣-量化-編碼
聲音雖然是連續的,但是計算機沒法存連續的東西,就每隔一段時間存個值,能把音頻信號曲線描述出來就好。我猜測這個信號值的測定方式:有個和耳機里面的膜一樣的東西,聲音能引起膜震動,聲音分貝的高低不同帶來了電位的變化,每隔一定時間檢測到存儲下來就行了。問題又來了,電信號的是什么原理存儲的呢,換句話怎么把得到的數值保存到磁盤上的呢?之前有磁帶,現在有磁盤,他們有何相近之處呢?我又猜測應該是一些易磁化的物質,假如本來都是表示0,如果傳來的是1111,就把磁盤磁化為1111,這樣就記錄下來了吧。本猜測純屬臆測,等讀了碩士再去深究吧。
圖像的存儲:光柵圖(位圖)、矢量圖
光柵圖:解析度和像素大小有關。色彩深度就是顏色有兩種表示方式:真彩色,RGB,每個三原色用八位,共24位表示一個像素。索引色:就8位建立索引,適用於需要顏色較少的程序。
矢量圖:比如計算機畫了一個圓,這種圖像適合矢量圖存儲,只需要記錄圓心、半徑、線的粗細顏色、填充的類型和顏色。當放大縮小該圓時,重新計算半徑以及其它信息,重新繪制一個圓。cad、計算機和字體適用。
視頻的存儲:
將每張圖片一幀一幀的播放就成了視頻,和之前的連環畫類似。
第四章 數據運算