計算機信息的表示(源碼、補碼、浮點數、圖形、聲音)

1.定點數和浮點數的概念

   在計算機中,數值型的數據有兩種表示方法,一種叫做定點數,另一種叫做浮點數。
   所謂定點數,就是在計算機中所有數的小數點位置固定不變。定點數有兩種:定點小數和定點整數。定點小數將小數點固定在最高數據位的左邊,因此,它只能表示小於1的純小數。定點整數將小數點固定在最低數據位的右邊,因此定點整數表示的也只是純整數。由此可見,定點數表示數的範圍較小。
   爲了擴大計算機中數值數據的表示範圍,我們將12.34表示爲0.1234×102,其中0.1234叫做尾數,10叫做基數,可以在計算機內固定下來。2叫做階碼,若階碼的大小發生變化,則意味着實際數據小數點的移動,我們把這種數據叫做浮點數。由於基數在計算機中固定不變,因此,我們可以用兩個定點數分別表示尾數和階碼,從而表示這個浮點數。其中,尾數用定點小數表示,階碼用定點整數表示。
   在計算機中,無論是定點數還是浮點數,都有正負之分。在表示數據時,專門有1位或2位表示符號,對單符號位來講,通常用“1”表示負號;用“0”表示正號。對雙符號位而言,則用“11”表示負號;“00”表示正號。通常情況下,符號位都處於數據的最高位。

2.定點數的表示

   一個定點數,在計算機中可用不同的碼制來表示,常用的碼制有原碼、反碼和補碼三種。不論用什麼碼制來表示,數據本身的值並不發生變化,數據本身所代表的值叫做真值。下面,我們就來討論這三種碼制的表示方法。
    1. 原碼
   原碼的表示方法爲:如果真值是正數,則最高位爲0,其它位保持不變;如果真值是負數,則最高位爲1,其它位保持不變。
   【例1】寫出13和 –13的原碼(取8位碼長)
   解:因爲13=(1101)2,所以13的原碼是00001101,-13的原碼是10001101。
   採用原碼,優點是轉換非常簡單,只要根據正負號將最高位置0或1即可。但原碼錶示在進行加減運算時很不方便,符號位不能參與運算,並且0的原碼有兩種表示方法:+0的原碼是00000000,-0的原碼是10000000。
    2. 反碼
   反碼的表示方法爲:如果真值是正數,則最高位爲0,其它位保持不變;如果真值是負數,則最高位爲1,其它位按位求反。
    【例2】寫出13和–13的反碼(取8位碼長)
   解:因爲13=(1101)2,所以 13的反碼是00001101,-13的反碼是11110010。
   反碼跟原碼相比較,符號位雖然可以作爲數值參與運算,但計算完後,仍需要根據符號位進行調整。另外0的反碼同樣也有兩種表示方法:+0的反碼是00000000,-0的反碼是11111111。
   爲了克服原碼和反碼的上述缺點,人們又引進了補碼錶示法。補碼的作用在於能把減法運算化成加法運算,現代計算機中一般採用補碼來表示定點數。
    3. 補碼
  補碼的表示方法爲:若真值是正數,則最高位爲0,其它位保持不變;若真值是負數,則最高位爲1,其它位按位求反後再加1。
  【例3】寫出13和 –13的補碼(取8位碼長)
   解:因爲13=(1101)2,所以 13的補碼是00001101,-13的補碼是11110011。
  補碼的符號可以作爲數值參與運算,且計算完後,不需要根據符號位進行調整。另外,0的補碼錶示方法也是唯一的,即00000000。

3.浮點數的表示方法

   浮點數表示法類似於科學計數法,任一數均可通過改變其指數部分,使小數點發生移動,如數23.45可以表示爲:101×2.345、102×0.2345、103×0.02345等各種不同形式。浮點數的一般表示形式爲: N=2E ×D,其中,D稱爲尾數,E稱爲階碼。如圖3.1所示,爲浮點數的一般形式。

計算機中數值的表示

圖3.1浮點數的一般形式

   對於不同的機器,階碼和尾數各佔多少位,分別用什麼碼制進行表示都有具體規定。在實際應用中,浮點數的表示首先要進行規格化,即轉換成一個純小數與2m之積,並且小數點後的第一位是1。
   【例4】寫出浮點數(-101.11101)2的機內表示(階碼用4位原碼錶示,尾數用8位補碼錶示,階碼在尾數之前)
   解:(-101.11101)2=(-0.10111101)2×23
    階碼爲3,用原碼錶示爲0011
   尾數爲-0.10111101,用補碼錶示爲1.01000011
   因此,該數在計算機內表示爲:00111.01000011

4.圖形的表示方法

   計算機通過指定每個獨立的點(或像素)在屏幕上的位置來存儲圖形,最簡單的圖形是單色圖形。單色圖形包含的顏色僅僅有黑色和白色兩種。爲了理解計算機怎樣對單色圖形進行編碼,可以考慮把一個網格疊放到圖形上。網格把圖形分成許多單元,每個單元相當於計算機屏幕上的一個像素。對於單色圖,每個單元(或像素)都標記爲黑色或白色。如果圖像單元對應的顏色爲黑色,則在計算機中用0來表示;如果圖像單元對應的顏色爲白色,則在計算機中用1來表示。網格的每一行用一串0和1來表示,如圖3.2所示。

計算機中數值的表示

圖3.2存儲一幅單色位圖圖像

   對於單色圖形來說,用來表示滿屏圖形的比特數和屏幕中的像素數正好相等。所以,用來存儲圖形的字節數等於比特數除以8;若是彩色圖形,其表示方法與單色圖形類似,只不過需要使用更多的二進制位以表示出不同的顏色信息。
   這裏講述了圖形圖像信息最基本的表示方法,關於更進一步的介紹,請大家參閱多媒體技術的有關章節。

5.聲音的表示方法

   通常,聲音是用一種模擬(連續的)波形來表示的,該波形描述了振動波的形狀。如圖3.3所示,表示一個聲音信號有三個要素,分別是基線、週期和振幅。

計算機中數值的表示

圖3.3聲音信號的三要素

   聲音的表示方法是以一定的時間間隔對音頻信號進行採樣,並將採樣結果進行量化,轉化成數字信息的過程,如圖3.4所示。聲音的採樣是在數字模擬轉換時,將模擬波形分割成數字信號波形的過程,採樣的頻率越大,所獲得的波形越接近實際波形,即保真度越高。

計算機中數值的表示

圖3.4聲音信號的採樣和量化

   這裏講述了聲音信息最基本的表示方法,關於更進一步的介紹,請大家參閱多媒體技術的有關章節

   文章出處http://blog.sina.com.cn/s/blog_6e51df7f0100tcg2.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章