您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>電腦硬件>臺式機>

數(shù)據(jù)表示—常用的信息編碼

2010年04月15日 14:36 ttokpm.com 作者:佚名 用戶評論(0

數(shù)據(jù)表示—常用的信息編碼


一.邏輯數(shù)據(jù)的表示
邏輯數(shù)據(jù)是用來表示二值邏輯中的“是”與“否”或“真”與“假”兩個狀態(tài)的數(shù)據(jù)。在計算機中用“1”表示“真”,用“0”表示假。

二.字符數(shù)據(jù)的表示
1.ASCII碼: ASCII是美國標準信息交換碼的簡稱。ASCII碼是7位基2碼,共有128個。其中編碼值為0~31及127的不對應(yīng)任何可印刷字符。通常稱它們?yōu)榭刂谱址F渌址麨榭捎∷⒆址?,這種字符編碼中有如下兩個規(guī)律:
(1)字符0~9這10個數(shù)字符的高3位編碼為011,低4位為0000~1001,當去掉高3位的值時,低4位正好是二進制形式 0~9。
(2)英文字母的編碼值滿足正常的字母排序關(guān)系,且大,小寫英文字母編碼有一定的對應(yīng)關(guān)系。


2.字符串的表示
字符串是指連續(xù)的一串字符,通常方式下,它們占用主存中連續(xù)的多個字節(jié),每個字節(jié)存一個字符。字符串在主存中可從低地址向高地址順序存放,又可從高地址向低地址順序存放。

3.漢字編碼:用2個字節(jié)表示一個漢字,為了與ASCII區(qū)別將表示漢字的兩個最高位均置“1”。

?1? 7 位? 1? 7 位?

因此漢字編碼最多有27 ╳ 27=16384個
GB2312中實際上僅編碼常用一級,二級字共6763個漢字。


三.數(shù)值型數(shù)據(jù)的表示:
數(shù)值型數(shù)據(jù)的特點是可以有正負,還可以是整數(shù),小數(shù),混和數(shù).

如: 0, 10, -125, 3.1415 若直接這種形式的數(shù)據(jù)存儲和運算是非常困難的,主要是人機交互的形式,計算機輸入/輸出的格式

1.定點小數(shù)的表示方法:一般都把小數(shù)點固定在最高數(shù)據(jù)位的左邊,實際上小數(shù)位并不占用空間,默認在該位置。

?符號.? 1? 0? 1? 1? 0? 1? 1?

若有m+1位的二進制位,一個純小數(shù)的表示,N=N S .N -1 N -2 …N -m

N S 數(shù)據(jù)位, 若N S =0表示正數(shù)或0,N S =1表示負數(shù)

N的取值范圍
最大值:0.1111111
最小值:-0.1111111


2.整數(shù)的表示方法:

1? 1? 0? 0? 1? 1? 1? 1?


一般把小數(shù)點定在數(shù)值最低位右面,因此對于n+1位不帶符號的整數(shù)的表示范圍為: 0≤N ≤2n+1-1

若最高位表示符號位,帶符號的整數(shù)的表示范圍為: N ≤2n+1-1

3.浮點數(shù)的表示方法:

?Ms? E? M?
1位? n+1位? m位?

Ms:數(shù)的符號位 ,用0表示正數(shù),用1表示負數(shù)
M:浮點數(shù)的尾數(shù)部分,用定點小數(shù)形式表示
E:浮點數(shù)的階碼部分,為整數(shù),用移碼表示

浮點數(shù)規(guī)格化表示:當尾數(shù)的值不為0時,其絕對值應(yīng)大于等于0.5,即∣Ms ∣≥0.5,如
0.10010101× 2 +11 為規(guī)格化的浮點數(shù),而
0.01010101× 2 +110 為非規(guī)格化的浮點數(shù),必須通過左移尾數(shù)并同時修改階碼使其變?yōu)橐?guī)格化的浮點數(shù),這種操作被稱為規(guī)格化處理。

隱藏位技術(shù):因為規(guī)格化的浮點數(shù)中的尾數(shù)不為0時,其最高位必為1,所以在將這樣的浮點數(shù)寫入內(nèi)存或磁盤時,不必給出該位,可左移一位去掉它,這種處理技術(shù)稱為隱藏位技術(shù)。目的是用同樣多的位能多保存一位二進制位。

4. 十進制數(shù)的編碼與運算:

①十進制有權(quán)碼:一個十進制數(shù)位的4位基2碼的每一位有確定的位權(quán),如8421碼,由高到低的位權(quán)分別為8,4,2,1,
②十進制無權(quán)碼:一個十進制數(shù)位的4位基2碼的每一位沒有確定的位權(quán),如余三碼,是把原二進制的每個代碼都加0011值得到的。

例題:判斷如下一個二元碼的編碼系統(tǒng)是有權(quán)碼還是無權(quán)碼,寫出判斷的推導過程:
十進制數(shù) 二元碼的編碼
1 0000
2 0111
3 0101
4 0100
5 1011
6 1010
7 1001
8 1000
9 1111
解:是有權(quán)碼,從高到低位每位的位權(quán)分別為8,4,-2,-1。
推導過程: 先假定該編碼系統(tǒng)為有權(quán)碼,且
(1) 從8的編碼為1000判斷出最高位的位權(quán)應(yīng)為8;
(2) 從4的編碼位0100判斷出次高位的位權(quán)應(yīng)為4;
(3) 從3的編碼為0101,結(jié)合(2)計算出最低位的位權(quán)應(yīng)為-1;
(4) 從2的編碼為0110,結(jié)合(2)計算出次低位的位權(quán)應(yīng)為-2;
(5) 用已求得的各位位權(quán)驗證分別0,1,5,6,7,9各數(shù)的編碼值,結(jié)果均正確。結(jié)論:該編碼系統(tǒng)確實為有權(quán)碼
load()

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?