- 大學計算機
- 寶樂爾 白迎霞 斯琴主編
- 1824字
- 2019-10-29 14:42:05
1.3.2 數據在計算機中的表示
1.數值數據的表示
數值數據用來表示量的大小、正負,如整數、小數等。在計算機內,數值是用二進制來表示的,也就是說,無論多大的數,在計算機中都只能用0和1來表示。
2.字符數據的表示
人們使用計算機的基本手段是通過鍵盤與計算機交互,從鍵盤敲入的各種命令和數據都是以字符形式體現的。然而,計算機只能存儲二進制數,這就需要對字符數據編碼,并由機器自動轉換為二進制形式存入計算機。下面介紹幾種在計算機應用中經常使用的編碼。
1)西文字符編碼(ASCII)
ASCII是英文American Standard Code for Information Interchange(美國標準信息交換碼)的縮寫。目前,計算機中一般都采用國際標準化組織規定的ASCII碼來表示英文字母和符號。ASCII碼用7位二進制數來表示一個字符,由于2的7次方為128,所以共有128種不同組合,可以表示128個不同字符。其中包括數碼0~9,26個大小寫英文字母以及各種運算符號、標點符號及控制字符等。基本ASCII字符表如表1-4所示。
表1-4 基本ASCII字符表

從表1-4中可以看出,字符ASCII碼的大小規律一般如下:由于基本ASCII字符是按ASCII碼值的大小進行排列,因而數字的ASCII碼小于字母;在數字的ASCII碼中,0的ASCII碼最小,9的代碼最大;大寫字母的ASCII碼比小寫字母的ASCII碼小;對于字母字體,ASCII碼的大小按字母順序遞增,A的ASCII碼最小,z的ASCII碼最大。其中,0的ASCII碼為48,A的ASCII碼為65,a的ASCII碼為97,其他數字和字母的ASCII碼可以依次推算出來。
擴充ASCII碼的最高位為1,其范圍用二進制表示為10000000~11111111,用十進制表示為128~255,也有128種。ASCII碼目前已被國際標準化組織(ISO)和國際電報電話咨詢委員會(CCITT)采納,成為一種國際通用的信息交換標準代碼。
2)漢字字符編碼
對于英文,大小寫字母總計只有52個,加上數字、標點符號和其他常用符號,128個編碼基本夠用,所以ASCII碼基本上滿足了英語信息處理的需要。漢字不是拼音文字,而是象形文字,由于常用的漢字有6000多個,因此使用7位二進制編碼是遠遠不夠的,必須使用更多的二進制位。
1980年,我國頒布了《信息交換用漢字編碼字符集 基本集》的國標交換碼,國家標準號為GB/T 2312—1980,收錄了6763個漢字和619個圖形符號。在GB/T 2312—1980中,規定用兩個連續字節,即16位二進制代碼表示一個漢字。由于每個字節的高位規定為1,這樣就可以表示128×128=16384個漢字。在GB/T 2312—1980中,根據漢字的使用頻率分為兩級,第一級有3755個,按漢語拼音字母的順序排列;第二級有3008個,按部首排列。
英文是拼音文字,基本符號比較少,編碼比較容易,而且在計算機系統中,輸入、內部處理、存儲和輸出都可以使用同一代碼。漢字種類繁多,編碼比西文要困難得多,而且在漢字處理系統中,輸入、內部處理、輸出對漢字代碼的要求不盡相同,所以使用的代碼也不盡相同。漢字信息處理系統在處理漢字和詞語時,要進行一系列的漢字代碼轉換。下面介紹主要的漢字代碼。
(1)漢字輸入碼(外碼)
漢字的字數繁多,字形復雜,字音多變,常用漢字就有6000多個。在計算機系統中使用漢字,首先遇到的問題就是如何把漢字輸入到計算機中。為了能直接使用西文標準鍵盤進行輸入,必須為漢字設計相應的編碼方法。漢字編碼方法主要有拼音輸入、數字輸入、字形輸入、音形輸入等。
(2)漢字內部碼(內碼)
漢字內部碼是漢字在設備和信息處理系統內部最基本的表達形式,是在設備和信息處理系統內部存儲、處理和傳輸漢字用的代碼。目前,世界各大計算機公司一般均以ASCII碼為內部碼來設計計算機系統。漢字數量多,用一個字節無法區分,一般用兩個字節來存放漢字的內碼,兩個字節共有16位,可以表示65536個可區別的碼。如果兩個字節各用7位,則可表示16384個可區別的碼,這已經夠用了。另外,漢字字符必須和英文字符相互區別開,以免造成混淆。英文字符的機內代碼是7位ASCII碼,最高位為“0”,漢字機內代碼中兩個字節的最高位均為“1”。不同計算機系統采用的漢字內部碼有可能不同。
(3)漢字字形碼(輸出碼)
漢字字形碼是漢字字庫中存儲的漢字字形的數字化信息,用于漢字的顯示和打印。字形碼也稱字模碼,是用點陣表示的漢字字形代碼,它是漢字的輸出形式。根據輸出漢字的要求不同,點陣的多少也不同。簡易型漢字為16×16點陣,提高型漢字為24×24點陣、32×32點陣、48×48點陣,等等。
字模點陣的信息量是很大的,所占用的存儲空間也很大,以16×16點陣為例,每個漢字就要占用32個字節,兩級漢字大約占用256KB。
完整的漢字信息處理都離不開從輸入碼到機內碼、由機內碼到字形碼的轉換。雖然漢字的輸入碼、機內碼、字形碼目前并不統一,但是只要在信息交換時,使用統一的國家標準,就可以達到信息交換的目的。