文數編碼

文數編碼

現代化計算機,不但能處理數字資料,並且也能處理文字資料,有關文字資料存入計算機內,其形式並非是原來的文字,而是按照已編號的碼號形式存放,因此對文字改編的電碼,稱為文數字碼。 三種常見的文數字碼:BCD碼、ASCII碼、增訂BCD碼(稱為EBCDIC碼)。

BCD碼

文數編碼 文數編碼

二一十進制碼是用二進制碼元來表示十進制數符“0~9”的代碼,簡稱BCD碼(Binary Coded Decimal的縮寫)。用二進制碼元來表示“0~9”這10個數符,必須用四位二進制碼元來表示,而四位二進制碼元共有16種組合。從中取出10種組合來表示“0~9”的編碼方案約有種。

(1)每一位有固定的權值的代碼稱為有權碼,如8421碼、5421碼、2421碼,其數值表示每位的權值,按每位的權值相加即得對應的十進制數。如十進制數7的表示:8421BCD碼為0111;5421BCD碼為1010;2421BCD碼為1011。

(2)每一位沒有固定權值的代碼稱為無權碼,如餘3BCD碼和循環BCD碼。但餘3BCD碼與8421BCD碼有如下關係:餘3BCD碼=8421BCD碼+0011。

讀餘3BCD碼的值時,按8421BCD碼的權值相加,結果減去3即可。

(3)從十六種組合代碼中任選十種表示十進制數,餘下的六個就是非法碼,又稱禁止碼。禁止碼不允許出現,如出現,系統不認識,將產生錯誤。

如8421BCD碼只用了前十個代碼,餘下的六個代碼——1010、1011、1100、1101、1110、111l,即為禁止碼。

5421BCD碼的禁止碼是0101、0110、0111、1101、1110、1111。

2421BCD碼的禁止碼是0101、0110、0111、1000、1001、1010。

餘3BCD碼的禁止碼是0000、0001、0010、1101、1110、1111。

(4)8421BCD碼因與二進制代碼相對應,故用得較多。5421BCD碼的最高位對稱,即前五個為“0”,後五個為“1”。2421BCD碼和542lBCD碼均具有自補性,即十進制4、5代碼,3、6代碼,2、7代碼,1、8代碼.0、9代碼互為反碼,如2421BCD碼“1”的代碼為0001,逐位取反就是“8”的代碼1110。

文數編碼 文數編碼

(5)多位十進制數用BCD碼錶示的方法:每位十進制數分別用對應的BCD碼錶示即可。

ASCII碼

目前國際上普遍採用的字元系統是7位的美國國家信息交換標準字元(AmericanStandard Code for Information Interchang,ASCII碼)。ASCII碼是從使用了幾十年的電傳打字設備的編碼方案中直接衍生出來的,這些電傳設備使用19世紀80年代發明的5位摩爾編碼。到了20世紀60年代,這種5位編碼方式的局限性已經變得非常明顯,國際標準化組織(ISO)就設計了一種7位的編碼方案,並於1967年正式公布,這就是現在所稱的ASCII碼。

ASCII定義了10個十進制數字、52個英文字母(大小寫)、32個控制字元和32個特殊符號(如$、%、+、一等)等,共128個元素,另加一位奇偶校驗位,共8位表示一個符號。

ASCII碼規定8個二進制位的最高一位為0.餘下的7位可以給出128個編碼,表示128個不同的字元。其中95個編碼對應著計算機終端能敲人並且可以顯示的95個字元。印表機設備也能列印這95個字元,包括大小寫各26個英文字母、0~9這10個數字元號、通用的運算符和標點符號+、一、*、/、>、=、<等。

另外的33個字元,其編碼值為0~31和127,則不對應任何一個可以屁示或列印的實際字元,它們被用作控制碼,控制計算機某些外圍設備的工作特性和某些計算機軟體的運行情況。

隨著計算機硬體性能變得越來越可靠,對奇偶校驗位的需求開始減弱。在20世紀80年代,微型計算機和外圍設備的製造商開始利用奇偶校驗位來提供擴展的字元集。

文數編碼 文數編碼

字元串是指連續的一串字元,通常情況下,它們占用主存中連續的多個位元組,每個位元組存儲一個字元。當主存字由2個或4個位元組組成時,在同一個主存字中既可按從低位位元組向高位位元組的順序存放字元串的內容,也可按從高位位元組向低位位元組的順序存放字元串的內容。這兩種存放方式都是常用方式,不同的計算機可以選用其中任何一種。

增訂BCD碼

IBM公司在開發IBM System360計算機之前,使用了一種6位的擴展BCD碼來表示字元和數字。但是,這種編碼方式所表示的字元很有限,例如,小寫字元就無法表示。因此,IBM System360系統的設計者進一步將BCD碼擴展為8位,使用了一種擴展的二一十進制編碼的交換碼(Extended Binary Coded Decimal Interchange Code),簡稱EBCDIC。圖中按照區位\數字的形式給出了EBCDIC代碼。字元表示採用在區位後面添加數字位的方法。例如,字元a是1000 0001,數字3是1111 0011。大寫字母和小寫字母的區別僅僅在第2位不同,只需簡單地進行1位數字的翻位,即可實現大小寫字母之間的轉換。

文數編碼 文數編碼

相關詞條

熱門詞條

聯絡我們