官术网_书友最值得收藏!

1.2 數(shù)制與編碼

電子設(shè)備中表示數(shù)據(jù)的方法有不同形式,模擬設(shè)備操作的是連續(xù)變化的數(shù)據(jù),數(shù)字設(shè)備使用離散的、不連續(xù)的數(shù)字(如0、1)工作。計算機使用電脈沖信號來表示數(shù)據(jù)。

1.2.1 計算機中常用的數(shù)制

日常生活中,人們接觸最多的數(shù)值表示方法是十進制,滿十進一。此外,常見的還有六十進制(1小時為60分)、十二進制(1年有12個月)等。在計算機中,基本的數(shù)制是二進制,只有0和1兩個數(shù)字,滿二進一。計算機數(shù)據(jù)都是由晶體管通或斷的狀態(tài),即電信號高、低兩種電平來表示。高電平時表示為“1”,低電平時表示為“0”。

在十進制數(shù)中,從右向左分別為個位、十位、百位……,每位上數(shù)字的基值分別為1、10、100……,稱為位權(quán),十進制數(shù)的值即為各位中數(shù)值乘以對應(yīng)位權(quán)的總和。例如:

(1234)10=1×103+2×102+3×101+4×100=1×1000+2×100+3×10+4×1=(1234)10

對應(yīng)地,二進制數(shù),從右向左各位的位權(quán)分別為1、2、4、8……,二進制數(shù)的值即為各位數(shù)值乘以對應(yīng)的位權(quán)的總和。例如:

(1010)2=1×23+0×22+1×21+0×20=1×8+1×2=8+2=(10)10

由于二進制數(shù)表示數(shù)據(jù)的位數(shù)太多,在書寫文檔或設(shè)計程序時通常用八進制(以3個二進制位為一位,可用數(shù)字為0~7)、十六進制(以4個二進制位為一位,可用數(shù)字為0~9及A~F表示數(shù)字0~15)表示。

二進制每一位數(shù)值“1”或“0”稱作bit(位)。bit是計算機可以識別的最小數(shù)據(jù)單位。1和0以不同的次序組合起來表示計算機內(nèi)的各種數(shù)據(jù)。大部分計算機的編碼都是以8位為一個單位來進行數(shù)據(jù)的存儲或傳輸,把這8個位合稱1個Byte(字節(jié),B)。

1.2.2 數(shù)據(jù)的編碼

1.字符編碼

計算機中的數(shù)據(jù)可以分為數(shù)值型數(shù)據(jù)與非數(shù)值型數(shù)據(jù)。其中數(shù)值型數(shù)據(jù)就是常說的“數(shù)”(如整數(shù)、實數(shù)等),它們在計算機中是以二進制形式存放的。而非數(shù)值型數(shù)據(jù)與一般的“數(shù)”不同,通常不表示數(shù)值的大小,而只表示字符、漢字或圖形等非數(shù)值的信息,這些信息在計算機中也是以二進制形式來表示的。

(1)ASCII碼編碼:為了便于計算機識別與處理,在計算機中使用二進制數(shù)來表示字符,通常稱之為字符的二進制編碼。目前,使用最多的是ASCII碼字符集,意思為“美國標準信息交換標準代碼”。ASCII碼是用7位二進制數(shù)表示一個字符,共能表示27=128個不同的字符,包括了26個英文大寫字母、26個英文小寫字母,數(shù)字符號0~9、算術(shù)與邏輯運算符號、標點符號等。在一個字節(jié)(8位二進制數(shù))中,ASCII碼用了七位,最高一位空閑,常用來作為奇偶校驗位。另外,還有擴展的ASCII碼,它用8位二進制數(shù)表示一個字符的編碼,可表示28=256個不同的字符。

(2)國際統(tǒng)一編碼:為了統(tǒng)一各種語言字符的表達方式,國際上又制定了國際統(tǒng)一編碼(Unicode編碼)。在這種編碼的字符集中,一個字符的編碼占用2個字節(jié),一個字符集可以表示的字符比ASCII碼字符集所表示的字符擴大了一倍。

2.漢字編碼

為使計算機可以處理漢字,也需要對漢字進行編碼。計算機進行漢字處理的過程實際上是各種漢字編碼的轉(zhuǎn)換過程。常用的漢字編碼簡介如下:

(1)漢字信息交換碼:它的全稱為“信息交換用漢字編碼字符集”,也稱為國標碼集。國標碼集共收集了6763個漢字,682個數(shù)字、序號、拉丁字母等圖形符號。國標碼集規(guī)定,一個漢字的編碼用兩個字節(jié)表示。國標碼集規(guī)定,全部國標漢字及符號組成94×94的矩陣,在這個矩陣中,每一行稱為一個“區(qū)”,每一列稱為一個“位”。這樣,就組成了94個區(qū)(01~94區(qū)),每個區(qū)內(nèi)有94個位(01~94)的漢字字符集。

區(qū)碼和位碼簡單地組合在一起(即兩位區(qū)碼居高位,兩位位碼居低位)就形成了“區(qū)位碼”。區(qū)位碼可唯一確定某一個漢字或漢字符號,反之,一個漢字或漢字符號都對應(yīng)唯一的區(qū)位碼,如漢字“啊”的區(qū)位碼為“1601”(即在16區(qū)的第1位)。

(2)漢字輸入碼:它是為使用戶能夠使用西文鍵盤輸入漢字而編制的編碼,也稱外碼。目前,漢字主要是經(jīng)標準鍵盤輸入計算機的,所以漢字輸入碼都是由鍵盤上的字符或數(shù)字組合而成。漢字輸入碼有許多種不同的編碼方案,包括:音碼,如全拼輸入法的編碼;形碼,如五筆字型輸入法的編碼;音形碼,如自然碼輸入法的編碼;數(shù)字碼,等等。

(3)漢字機內(nèi)碼:它是為了能夠在計算機內(nèi)部對漢字進行處理、存儲的漢字編碼。不論用何種輸入碼,輸入的漢字在機器內(nèi)部都要轉(zhuǎn)換成統(tǒng)一的漢字機內(nèi)碼,然后才能在計算機內(nèi)傳輸、處理。根據(jù)漢字信息交換碼,一個漢字的機內(nèi)碼也用2個字節(jié)存儲。因為ASCII碼是西文的機內(nèi)碼,為不使?jié)h字機內(nèi)碼與ASCII碼發(fā)生混淆,就把漢字每個字節(jié)的最高位置為1,作為漢字機內(nèi)碼。

圖1-2-1 “工”字16×16點陣字形

(4)漢字輸出碼:也稱漢字字形碼。漢字是一種象形文字,每一個漢字都是一個特定的圖形,它可以用點陣來描述。例如,如果用16×16點陣來表示一個漢字(如圖1-2-1所示),則該漢字圖形由16行16列共256個點構(gòu)成,這256個點需用256個二進制的位來描述。約定當二進制位值為“1”表示對應(yīng)點為黑,“0”表示對應(yīng)點為白。一個16×16點陣的漢字需要2×16=32個字節(jié)用于存放圖形信息,這就構(gòu)成了一個漢字的圖形碼,所有漢字的圖形碼就構(gòu)成了漢字字庫。

當用某種漢字輸入法將一個漢字輸入到計算機之后,漢字管理模塊立即將它轉(zhuǎn)換為2個字節(jié)的國標碼,同時將國標碼每個字節(jié)的最高位設(shè)置為“1”,作為漢字的標志,將國標碼轉(zhuǎn)換成漢字內(nèi)碼。根據(jù)內(nèi)碼對應(yīng)到字庫中的一個漢字圖形碼,以輸出字形。

主站蜘蛛池模板: 抚州市| 迁西县| 宜都市| 永善县| 渝中区| 松桃| 龙井市| 黑山县| 周宁县| 浑源县| 建水县| 茌平县| 达拉特旗| 汉寿县| 临沂市| 惠水县| 金坛市| 临朐县| 同仁县| 景德镇市| 雷州市| 彭水| 潢川县| 上虞市| 九江县| 泰宁县| 青铜峡市| 漠河县| 甘德县| 吉安市| 远安县| 桑日县| 醴陵市| 朝阳区| 宿松县| 桐柏县| 合江县| 普格县| 社会| 弋阳县| 镇原县|