前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機信息表示與編碼知識分析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:計算機信息的表示與編碼一直是困擾初學者的一個難題,通過對計算機信息的表示、信息的單位、信息的編碼這三部分的深入探討和講解,讓初學者對計算機內部原理有了一個啟發(fā)性的了解,為進一步學習計算機知識打下堅實基礎。
關鍵詞:信息表示;信息編碼;信息單位;內部原理
引言
隨著計算機的流行和普及,各種類型的微型計算設備(pad、surface)已經深入到各家各戶,越來越多的人加入到學習計算機知識、研究計算機原理的隊伍中來。學習計算機知識絕不僅僅是學習類似office那樣的簡單操作,而是需要研究計算機原理和軟硬件等知識。目前計算機的研究方向已經十分細化,從大的方向上說,比如軟件、硬件、網絡、人工智能等等都是目前熱門的研究方向。以軟件為例,計算機的工作是通過軟件控制的,而軟件是用程序編寫的,程序是指令的集合,而指令就是計算機可以識別的命令,這些命令都是計算機中的控制信息和數(shù)據(jù)信息。歸根結底,我們首先要理解信息在計算機中是如何存儲和表示的。
1、信息的表示
計算機內部的信息可以分成兩大類:數(shù)據(jù)信息和控制信息。數(shù)據(jù)信息是計算機程序加工的對象,包括數(shù)值信息(定點數(shù)和浮點數(shù)等)和非數(shù)值信息(圖像和聲音等)??刂菩畔⑹且恍┛刂朴嬎銠C操作的指令。無論是數(shù)據(jù)信息還是控制信息,在計算機中都是用二進制數(shù)據(jù)表示的。也可以說計算機中的數(shù)字系統(tǒng)是二進制系統(tǒng)。這種二進制表示法和我們平時習慣使用的十進制大不相同。二進制里面的數(shù)字只能由0和1構成,進位原則是逢二進一。為什么在計算機中用二進制來表示數(shù)據(jù)呢?因為電路中最穩(wěn)定的狀態(tài)就是兩種狀態(tài),所以用著兩種狀態(tài)分別表示0和1最為恰當。因此在計算機中用二進制表示數(shù)據(jù)比較容易物理實現(xiàn)。另外二進制的數(shù)字運算更為簡單,因為只有兩個數(shù)字0和1。當然,二進制對于人來說可讀性比較差,因此在計算機高級語言的書寫中并不直接用二進制,而是要把源程序編譯以后得到二進制的機器語言。
2、信息的單位
上面已經講到,計算機中所有的信息都是用二進制來表示的,雖然有時在編程的時候用八進制或者十六進制表示一些信息,但是在計算機中都會將這些進制數(shù)轉化成二進制表示,只是在展現(xiàn)的時候出現(xiàn)多樣化的信息。計算機中信息的單位和二進制也息息相關。信息存儲的最小單位就是位,一個位就是一個二進制位(0或1),用小寫字母b表示。由位可以組成字節(jié),在計算機中一個字節(jié)是由8個二進制位組成的,用大寫字母B表示。在計算機中表示文件大小或內存大小的單位一般為KB,表示千字節(jié)。1KB=1024B,還有更大的單位兆字節(jié)即MB,1MB=1024K。更大的還有吉字節(jié)GB,以此類推,1GB=1024M。
3、信息的編碼表示
在計算機中的數(shù)據(jù)雖然是用二進制表示的,但絕不是僅僅將數(shù)據(jù)化為二進制數(shù)這么簡單,單就數(shù)字和運算來說,首先要對正號和負號做出不同的表示,這里正號和負號恰好可以用一位二進制數(shù)0和1來表示。這里我們用0代表正號,1代表負號。比如十進制25就可以表示為011001,而-25則可以表示為111001,可以看出,只有第一位不同,后面的相同。對于相同長度的二進制數(shù),在計算機中如果僅第一位不同,后面的所有位都相同,則可以斷定這兩個數(shù)符號不同,絕對值相同。在計算機中當需要對兩個數(shù)進行加減運算的時候,符號位0或1要參與運算,這就帶來了一些麻煩,這里符號位要單獨處理才行。比如兩個數(shù)都是正數(shù)(符號位為0)則結果的符號位也為0,兩個數(shù)都是負數(shù)(符號位為1)則結果的符號位也為1。倘若兩個數(shù)符號位相反即一個是正數(shù),一個是負數(shù)的話,則需要比較兩個數(shù)的絕對值大小才能判斷結果的正負。這些判定用計算機硬件實現(xiàn)是及其復雜的。另外還有一個方面就是用帶符號的二進制表示零會有兩種結果,即0000…0和1000…0,因為0可以看成是+0和-0,因此,在計算機中的信息不能夠直接用二進制表示。人們需要找出一種更好的編碼方法,使得運算起來能夠將符號位一起運算還能得到正確的結果,這就引入了計算機之信息的存儲形式:補碼存儲。如何求出一個數(shù)字的補碼在許多計算機的教科書中都給與了充分的闡述,這里我們主要講解一下補碼的含義。正數(shù)的補碼還是原來的加上符號的二進制形式(也叫原碼)。負數(shù)的補碼則要通過“模數(shù)的概念來理解”。我們知道,對于鐘表,12是一個循環(huán),過了12就又從1開始數(shù)了。如果我們的手表上指的是8點,而標準時間是6點,我們就可以向后撥兩個格,也可以向前撥10個格,都可以達到同樣的效果。也就是說對于模數(shù)12來說,2和10是互補的,一個數(shù)減去2和一個數(shù)加上10是一樣的,一個數(shù)減去10和一個數(shù)加上2也是一樣的。受此啟發(fā),在計算機中,如果A-B,那么我們可以把-B轉化成補碼,然后可以用A的補碼加上B的補碼來完成操作。限于篇幅,不再舉例。用補碼表示計算機信息有很多好處,首先是0的表示唯一了,不存在正零和負零之分;其次是符號位可以正常參與運算,最后仍然能夠得到正確的結果,無需單獨運算;還有就是用補碼進行運算時,減法運算可以轉換為加法運算。如果A-B,可以理解為A+(-B),簡化了硬件設計的難度。
4、總結與展望
計算機中信息的表示和編碼是學習理解計算機工作原理的基礎,也是計算機初學者學習計算機的第一道攔路虎,許多計算機畢業(yè)生直到本科畢業(yè)對于信息的編碼表示也是一知半解,影響到了他們對于計算機理論的后續(xù)學習。本文通俗地講解了計算機中數(shù)據(jù)的表示方法和編碼原理,并用例子加以形象說明,初學者深刻理解這些內容對于進一步學習計算機理論知識有著莫大的好處。
作者:曹摯 單位:徐州幼兒師范高等專科學校