資訊的編碼包括以下三個方面:資訊儲存的單位、數值型資料的編碼、非數值型資料的編碼。
資訊的編碼包括以下三個方面:資訊儲存的單位、數值型資料的編碼、非數值型資料的編碼。
資訊儲存的單位
位(bit,也稱作位元)
計算機中最小的資料單位,就是一個二進位制位,一位的取值只能是0或1。例如32bit就是32位。
位元組(Byte)
位元組是計算機中資訊組織和儲存的基本單位,規定1位元組就是8位元。宇節常用大B表示。例如1B=8bit。描述計算機的儲存器的儲存容量常常用KB,MB,GB,TB等單位來表示,其換算規則為:
1kB=1024B=2^10B
1MB=1024kB=2^20B
1GB=1024MB=2^30B
1TB=1024GB=2^40B
目前微型計算機的記憶體通常為幾百MB到1GB,u盤的容量通常為64MB~2GB。而硬碟的容量為幾十GB到幾百GB。一個英文字母用1位元組儲存,一個漢字用2個位元組儲存。一本書通常為幾萬字到幾十萬字,你可以算算如果一個80GB硬碟可以儲存多少本全文字型的書籍。一張光碟可以儲存650MB,一張DVD可以儲存4.7GB,—張數碼相機的照片通常為1~5MB,一音MP3歌曲的容量為幾個MB。一部電影的容量有幾百MB,如果為高清晰電影,可能能需要佔用幾個GB容量。
字(word)
字是位的組合,並作為一個獨立的資訊單位進行存取、運算。一個字由若干個位元組組成,其位元位數稱作字長,不同的機器有不同的字長。字長有8位,16位,32位和64位等。字長越長,說明機器能夠一次進行運算的資料位數就多.機器效能就好。目前微型機的CPU的字長一般採用64位,微控制器的CPU的字長一般採用8位或16位。16位字長的資料表示範圍肯定沒有32位字長表示的資料範圍大。
數值型資料的編碼
數值型資料有整數和浮點數之分。318,-318就是整數,而318.32,-318.32就是浮點數。為了解決整數的負數在機器中的表示問題,人們提出了常用的3種表示方法,即原碼錶示、反碼錶示和補碼錶示。為了解決浮點數在機器中的表示問題,人們提出了浮點表示方法。整數的表示和浮點的表示最終都是以二進位制形式表示,但是方法完全不同。
原碼錶示
原碼是一種直觀的二進位制數表示形式,其中最高位表示符號。最高位“0”表示正,最高位“1”,表示負,數值部分用二進位制數的絕對值表示。
反碼錶示
反碼是—種中間過渡的編碼,採用它的主要原因是為了計算補碼。其負數編碼方法是:符號位為1,其餘位為將真值絕對值各位求反。
補碼錶示
負數的補碼為該負數的反碼在末尾再加上“1”。
非數值型資料的編碼
數字編碼:BCD碼
BCD(Binar coded Decimal)碼是十進位制數在計算機中的一種表示方法。它是將十進位制數的每一位直接用4位或者8位二進位制碼錶示。
將十進位制數的每一位直接用4位二進位制碼錶示,稱作壓縮BCD碼錶示。
將十進位制數的每一位直接用4位二進位制碼錶示,高4位為全0,稱作非壓縮BCD碼錶示。
字元的編碼
字元包括字母、數字、標點符號及特殊控制字元。目前國際上廣泛使用的是ASCII(American standard Code for information interchange,即美國資訊交換標準程式碼)。ASCII誕生於1963年,用於計算機內部字元的儲存和計算機與外設的通訊。標準的ASCII碼為7位(即D6—D0位),儲存時用一個位元組表示(最高位D7用0表示),標準的ASCII字符集中定義了128個字元,其中10個阿拉伯數字(“0”~“9”),26個大寫字母(“A”~“Z”),26個小寫字母(“a”~“z”),33個符號及33個控制字元。有95個可列印字元,即20H~7EH,33個控制字元為00H~1FH。
數字“0”~“9”的ASCII碼連續,從30H(或48)開始;大寫字母“A”~“Z”連續,從41H(或65)開始;小寫字母“a”~“z”連續,從61H(或97)開始。因此同一個字母,其小寫比對應大寫字母大20H,即“M”+20H=“m”,或者“M”+32=“m”。
AscII碼的可列印字元輸人方法:可以使用鍵盤上標記的按鍵直接輸入,也可以按住Alt鍵,然後在小鍵盤上輸入3位等值的十進位制數字。例如,要輸入字母“5”,可以直接按鍵盤上“5”鍵或小鍵盤的數字“5”鍵;也可以左手按住A1t鍵一直不放鬆,右手從小鍵盤上依次輸入“0”、“5”、“3”3個鍵。因為“5”的AScII碼為0110101B=35H=53。同理,要輸入“{”,可以左手按住shift鍵,右手同時按“{[”鍵;也可以左手按住Att鍵一直不放鬆,右手從小鍵盤上依次輸入“1”,“2”,“3”,3個鍵。因為字元“1”的ASCII碼為11110llB=7BH=123。
漢字的編碼
漢字資訊在計算機的儲存、交換、檢索操作中使用的編碼,稱作內碼。目前大多采用兩個位元組的漢字編碼,即每個漢字用16位來表示。由於漢字的應用範圍較廣,漢字的編碼字符集不相同,例如有GB/GBK碼和BIG5碼等。目前使用的國標碼是1981年的GB2312~1980和2000年頒佈的GB18030~2000。