標籤:軟考 資料表示 定點 浮點
眾所周知,電腦是由硬體和軟體組成,其中硬體系統主要由運算器,控制器,儲存空間,輸入裝置和輸出裝置5大部分組成,將運算器和控制器整合在一塊晶片上,就構成了我們熟悉CPU.但是我們今天要討論不是這些玩意兒,而是在電腦內部資料和文字的表示方法,你可能馬上會想:這還用討論麼,不就是一些數字和英文字母嘛!非也,我只能說你圖樣圖森破!
接觸過的人都知道,我們所使用的電腦只認識0和1,其他的一概不認識,中文,英文,梵文神馬的全都靠邊兒站,根本不鳥他們。那我們看到的13145201314數字串以及各種文字是如何表示呢?這是值得每個學習電腦技術的人思考和研究的問題。
先來瞭解最簡單的數字吧。各種數值在電腦中表示的形式稱為機器數,也叫做機器碼,採用二進位計數制,數的符號用0和1表示,小數點則隱含表示而不佔用實際位置。機器數對應的實際數值大小稱為數的真值。
資料格式
1定點數
顧名思義,就是約定機器中的所有資料的小數點的位置是固定不變的。由於約定了小數點的位置,因此就不再使用實心點“.”來表示了。理論上講,小數點位置固定在哪一位偶可以,但是通常將資料表示成純小數或者純整數。
定點數表示數的範圍受字長限制,表示數的範圍有限,且精度也有限,因此在機器中,常用定點純整數表示
2浮點數
鑒於浮點數所能表示的數值範圍比較小,而且運算中很容易因為結果超出範圍而溢出,於是引入了浮點數,即小數點位置不固定的數,其所能表示的數的範圍更大。
浮點數的表示格式如下:
IEEE 754是由IEEE制定的有關浮點數的工業標準,被廣泛採用。其標準的表示形式如下:
那麼浮點數表示的資料範圍有多大呢?
數的機器碼錶示
在電腦中對資料進行運算操作時,符號位如何表示呢?是否也同數值位一起參加運算操作呢?如參加,會給運算帶來什麼影響呢?為了妥善地處理這些問題,就產生了把符號位和數值位一起編碼來表示相應的數的各種表示方法,如原碼、補碼、反碼、移碼。為了區別一般書寫表示的數和機器中這些編碼錶示的數,通常將前者稱為真值,後者稱為機器數或者機器碼。
1原碼
2反碼
3補碼
4移碼
下面以定點整數為例,我們以數軸的形式給出原碼、反碼、補碼的數值表示範圍和可能的數位組合情況
同樣我們以十進位整數為例,給出其二進位和其各種碼的表示形式,大家可以思考並從中找出規律
綜上所述,我們可以得到這樣一些結論:
1一個正整數,當用原碼、反碼、補碼錶示時,符號位都固定為0,用二進位表示的數位值都相同,即三種表示方法 完全一樣;
2一個負整數,當用原碼、反碼、補碼錶示時,符號位都固定為1,用二進位表示的數位值都不相同。此時由原碼錶示法變成補碼錶示法的規則如下:
(1)原碼符號位為1不變,整數的每一位位元位求反得到反碼
(2)反碼符號位為1不變,反碼數值位最低位加1,得到補碼。
3由上表中0的表示可以看出,0在原碼和反碼中有兩種表示,而在補碼和移碼中則由唯一的編碼;
4整數的補碼值和移碼值差別僅在於符號位不同。
關於各種碼制的運算問題,如果後面的學習中遇到了,會再次詳細研究的。
備戰軟考(1) 電腦群組成原理之資料表示