公務(wù)員期刊網(wǎng) 論文中心 正文

計算機(jī)信息表示與編碼知識分析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機(jī)信息表示與編碼知識分析范文,希望能給你帶來靈感和參考,敬請閱讀。

計算機(jī)信息表示與編碼知識分析

摘要:計算機(jī)信息表示編碼一直是困擾初學(xué)者的一個難題,通過對計算機(jī)信息的表示、信息的單位、信息的編碼這三部分的深入探討和講解,讓初學(xué)者對計算機(jī)內(nèi)部原理有了一個啟發(fā)性的了解,為進(jìn)一步學(xué)習(xí)計算機(jī)知識打下堅實基礎(chǔ)。

關(guān)鍵詞:信息表示;信息編碼;信息單位;內(nèi)部原理

引言

隨著計算機(jī)的流行和普及,各種類型的微型計算設(shè)備(pad、surface)已經(jīng)深入到各家各戶,越來越多的人加入到學(xué)習(xí)計算機(jī)知識、研究計算機(jī)原理的隊伍中來。學(xué)習(xí)計算機(jī)知識絕不僅僅是學(xué)習(xí)類似office那樣的簡單操作,而是需要研究計算機(jī)原理和軟硬件等知識。目前計算機(jī)的研究方向已經(jīng)十分細(xì)化,從大的方向上說,比如軟件、硬件、網(wǎng)絡(luò)、人工智能等等都是目前熱門的研究方向。以軟件為例,計算機(jī)的工作是通過軟件控制的,而軟件是用程序編寫的,程序是指令的集合,而指令就是計算機(jī)可以識別的命令,這些命令都是計算機(jī)中的控制信息和數(shù)據(jù)信息。歸根結(jié)底,我們首先要理解信息在計算機(jī)中是如何存儲和表示的。

1、信息的表示

計算機(jī)內(nèi)部的信息可以分成兩大類:數(shù)據(jù)信息和控制信息。數(shù)據(jù)信息是計算機(jī)程序加工的對象,包括數(shù)值信息(定點數(shù)和浮點數(shù)等)和非數(shù)值信息(圖像和聲音等)??刂菩畔⑹且恍┛刂朴嬎銠C(jī)操作的指令。無論是數(shù)據(jù)信息還是控制信息,在計算機(jī)中都是用二進(jìn)制數(shù)據(jù)表示的。也可以說計算機(jī)中的數(shù)字系統(tǒng)是二進(jìn)制系統(tǒng)。這種二進(jìn)制表示法和我們平時習(xí)慣使用的十進(jìn)制大不相同。二進(jìn)制里面的數(shù)字只能由0和1構(gòu)成,進(jìn)位原則是逢二進(jìn)一。為什么在計算機(jī)中用二進(jìn)制來表示數(shù)據(jù)呢?因為電路中最穩(wěn)定的狀態(tài)就是兩種狀態(tài),所以用著兩種狀態(tài)分別表示0和1最為恰當(dāng)。因此在計算機(jī)中用二進(jìn)制表示數(shù)據(jù)比較容易物理實現(xiàn)。另外二進(jìn)制的數(shù)字運(yùn)算更為簡單,因為只有兩個數(shù)字0和1。當(dāng)然,二進(jìn)制對于人來說可讀性比較差,因此在計算機(jī)高級語言的書寫中并不直接用二進(jìn)制,而是要把源程序編譯以后得到二進(jìn)制的機(jī)器語言。

2、信息的單位

上面已經(jīng)講到,計算機(jī)中所有的信息都是用二進(jìn)制來表示的,雖然有時在編程的時候用八進(jìn)制或者十六進(jìn)制表示一些信息,但是在計算機(jī)中都會將這些進(jìn)制數(shù)轉(zhuǎn)化成二進(jìn)制表示,只是在展現(xiàn)的時候出現(xiàn)多樣化的信息。計算機(jī)中信息的單位和二進(jìn)制也息息相關(guān)。信息存儲的最小單位就是位,一個位就是一個二進(jìn)制位(0或1),用小寫字母b表示。由位可以組成字節(jié),在計算機(jī)中一個字節(jié)是由8個二進(jìn)制位組成的,用大寫字母B表示。在計算機(jī)中表示文件大小或內(nèi)存大小的單位一般為KB,表示千字節(jié)。1KB=1024B,還有更大的單位兆字節(jié)即MB,1MB=1024K。更大的還有吉字節(jié)GB,以此類推,1GB=1024M。

3、信息的編碼表示

在計算機(jī)中的數(shù)據(jù)雖然是用二進(jìn)制表示的,但絕不是僅僅將數(shù)據(jù)化為二進(jìn)制數(shù)這么簡單,單就數(shù)字和運(yùn)算來說,首先要對正號和負(fù)號做出不同的表示,這里正號和負(fù)號恰好可以用一位二進(jìn)制數(shù)0和1來表示。這里我們用0代表正號,1代表負(fù)號。比如十進(jìn)制25就可以表示為011001,而-25則可以表示為111001,可以看出,只有第一位不同,后面的相同。對于相同長度的二進(jìn)制數(shù),在計算機(jī)中如果僅第一位不同,后面的所有位都相同,則可以斷定這兩個數(shù)符號不同,絕對值相同。在計算機(jī)中當(dāng)需要對兩個數(shù)進(jìn)行加減運(yùn)算的時候,符號位0或1要參與運(yùn)算,這就帶來了一些麻煩,這里符號位要單獨處理才行。比如兩個數(shù)都是正數(shù)(符號位為0)則結(jié)果的符號位也為0,兩個數(shù)都是負(fù)數(shù)(符號位為1)則結(jié)果的符號位也為1。倘若兩個數(shù)符號位相反即一個是正數(shù),一個是負(fù)數(shù)的話,則需要比較兩個數(shù)的絕對值大小才能判斷結(jié)果的正負(fù)。這些判定用計算機(jī)硬件實現(xiàn)是及其復(fù)雜的。另外還有一個方面就是用帶符號的二進(jìn)制表示零會有兩種結(jié)果,即0000…0和1000…0,因為0可以看成是+0和-0,因此,在計算機(jī)中的信息不能夠直接用二進(jìn)制表示。人們需要找出一種更好的編碼方法,使得運(yùn)算起來能夠?qū)⒎栁灰黄疬\(yùn)算還能得到正確的結(jié)果,這就引入了計算機(jī)之信息的存儲形式:補(bǔ)碼存儲。如何求出一個數(shù)字的補(bǔ)碼在許多計算機(jī)的教科書中都給與了充分的闡述,這里我們主要講解一下補(bǔ)碼的含義。正數(shù)的補(bǔ)碼還是原來的加上符號的二進(jìn)制形式(也叫原碼)。負(fù)數(shù)的補(bǔ)碼則要通過“模數(shù)的概念來理解”。我們知道,對于鐘表,12是一個循環(huán),過了12就又從1開始數(shù)了。如果我們的手表上指的是8點,而標(biāo)準(zhǔn)時間是6點,我們就可以向后撥兩個格,也可以向前撥10個格,都可以達(dá)到同樣的效果。也就是說對于模數(shù)12來說,2和10是互補(bǔ)的,一個數(shù)減去2和一個數(shù)加上10是一樣的,一個數(shù)減去10和一個數(shù)加上2也是一樣的。受此啟發(fā),在計算機(jī)中,如果A-B,那么我們可以把-B轉(zhuǎn)化成補(bǔ)碼,然后可以用A的補(bǔ)碼加上B的補(bǔ)碼來完成操作。限于篇幅,不再舉例。用補(bǔ)碼表示計算機(jī)信息有很多好處,首先是0的表示唯一了,不存在正零和負(fù)零之分;其次是符號位可以正常參與運(yùn)算,最后仍然能夠得到正確的結(jié)果,無需單獨運(yùn)算;還有就是用補(bǔ)碼進(jìn)行運(yùn)算時,減法運(yùn)算可以轉(zhuǎn)換為加法運(yùn)算。如果A-B,可以理解為A+(-B),簡化了硬件設(shè)計的難度。

4、總結(jié)與展望

計算機(jī)中信息的表示和編碼是學(xué)習(xí)理解計算機(jī)工作原理的基礎(chǔ),也是計算機(jī)初學(xué)者學(xué)習(xí)計算機(jī)的第一道攔路虎,許多計算機(jī)畢業(yè)生直到本科畢業(yè)對于信息的編碼表示也是一知半解,影響到了他們對于計算機(jī)理論的后續(xù)學(xué)習(xí)。本文通俗地講解了計算機(jī)中數(shù)據(jù)的表示方法和編碼原理,并用例子加以形象說明,初學(xué)者深刻理解這些內(nèi)容對于進(jìn)一步學(xué)習(xí)計算機(jī)理論知識有著莫大的好處。

作者:曹摯 單位:徐州幼兒師范高等??茖W(xué)校