3.十進製數轉換為十六進製數
十進製數轉換為十六進製數,與上述方法類似:對整數部分和小數部分分別采用“除16取餘法”和“乘l6取整法”,在這裏就不做贅述。
1.2.4非十進製數之間的轉換
由於二進製與八進製數之間的轉換,以及二進製與十六進製數之間的轉換都十分方便,而八進製和十六進製數之間的轉換,則可以借助轉換為二進製數來完成。所以,二進製、八進製和十六進製數間的轉換,主要討論前兩種轉換。
1.二、八進製數之間的轉換
我們知道,八進製數是逢八進一,每一位八進製數允許使用的數字是0~7,最大為7。我們再來看一下二進製數,三位二進製數最大為111,換算為十進製數是7,也就是說用三位二進製數可以表示0~7。由此可見,將二進製數轉換為八進製數,隻需將二進製數分成三位一組,再進行轉換便可。具體做法如下:
從小數點開始,分別向左和向右,對二進製數按三位一段分組,不夠三位的補0。
將每一組二進製數轉換為一個八進製數,並按原次序排列,轉換便完成。
將八進製數轉換為二進製數的方法,隻是求上述問題的逆過程。也就是將每一位八進製數用等值的三位二進製數代替。
2.二、十六進製數之間的轉換
由於四位二進製數最大能表示的數是l5,恰好相當於十六進製數的一位。因此,與上麵相似,二進製與十六進製數之間的轉換,隻需將每四位二進製數用一位相應的十六進製數取代,或反之便可完成轉換。
1.3計算機中的代碼
操作過計算機的人都知道:當計算機正常工作時,如果在鍵盤上按一下數字鍵…9,顯示器會馬上顯示“9”。那麼,計算機接收到的是什麼信號?它又是怎樣工作呢?
實際上,鍵入字符“9”時,從鍵盤送入計算機的一般是鍵盤掃描碼,然後由固定程序將其轉換為一串由0和1組成的代碼“00111001”,這種代碼叫做ASCIl碼。前麵已經介紹過,計算機隻能夠識別0和1兩個字符,要輸入不同的符號,隻能通過一定的代碼來告訴計算機。0和1的不同組合代表不同的字符。這樣,計算機才可以對其存儲、處理。而我們在顯示器上看到的字符“9”,則是顯示的字形碼,也就是輸出碼。如果通過某種方式告訴計算機:顯示ASCIl碼為00111001的字符,同樣可以在顯示器上顯示字符“9”。
各種信息的輸入、存儲、處理等所采用的代碼,分別執行一定的標準和規定。如:英文數字使用ASCIl碼,漢字的信息交換使用國標碼,計算機處理圖象又有各種不同的圖象編碼……計算機的指令也是某種代碼。下麵僅就幾種常用的代碼予以介紹:
1.3.1ASCIl碼
ASCIl碼是美國標準信息交換代碼的縮寫,已被國際標準化組織接收為國際標準,稱為IS0.646。ASCIl碼是英文、數字以及鍵盤上其它符號的代碼,它是這些字符的輸入、存儲和處理以及交換信息使用的編碼。ASCIl碼是目前使用最多的一種編碼,廣泛用於微型機和小型機。除了ASCII碼以外,對於這類字符還有一種編碼方式:EBCDIC碼。該碼主要用於IBM的大型主機。
ASCIl碼有7位碼和8位碼兩種。
國際上通用的是七位碼。用7位ASCIl碼可以表示:l0個阿拉伯數字、52個英文大小寫字母、32個標點符號和運算符。再加上34個控製碼,共有128碼,恰好用7位二進製數。這是因為,一位二進製數可以表示兩種狀態:0和1;2位二進製數可以有4種不同的組合狀態:00、01、10、11……7位二進製數便可組合為27種狀態,即用7bit可以對128個符號編碼。
無論是7位碼還是8位碼,存儲一個ASCIl碼都要用一個字節。對於7位碼,一般將最高位置0,也有的軟件把最高位作為奇偶校驗位。表1.2為7位ASCIl碼表。
表中編碼符號的排列次序bsbTb6b5b。b3b2bl,b8一般為0,表中未給出。為了製表方便,把一個字節分為高三位575655,和低四位b4b3b2bl兩部分。查表時,應將字符所在的列與行高、低兩部分碼連起來,最高位補0,即為所求字符的ASCIl碼。
在ASCIl碼轉換的過程中,我們會發現轉換為十六進製數是十分方便的,這也正是在計算機中引入十六進製數的理由。
輸入控製碼時,並不顯示相應符號,而是執行某種操作。例如,在往顯示器或打印機上送入BEL的ASCIl碼時,就會響鈴。除BEL外,還經常會碰到的控製碼有:回車CR、退格BS、換行LF等。
在DOS環境下,通過輸入字符的ASCIl碼來輸入字符的方法是:先按住鍵盤上的Alt鍵,再從鍵盤右麵的數字小鍵盤上打入相應字符的ASCIl碼。
1.3.2漢字代碼體係
漢字是象形字,其輸入、輸出與處理均要比英文困難得多。因此,不可能用一種代碼實現對漢字的處理。於是,出現了漢字的輸入碼、機內碼、國標碼等不同用途的編碼。
1.輸入碼
由於漢字的輸入方法很多,因此有很多種輸入碼。不同的用戶,采用不同的輸入碼可能會更方便。例如,專業打字員一般要用比較快的輸入方法,而非專業人員,更喜歡采用易學的方法。所以對輸入碼方案不必強求統一。
2.國標碼
無論使用何種輸入碼錄入漢字,在計算機進行漢字信息交換時,都必須采用相同的編碼。
為此,我國於l981年頒布了