- 計算機系統平臺
- 王曉英 曹騰飛 孟永偉 黃建強
- 1092字
- 2019-10-18 19:26:02
2.1 進位制及其轉換
2.1.1 進位制
進位制又稱進制,是人們規定的一種計數方式。“逢十進一”就是十進制,“逢二進一”就是二進制,“逢k進一”就是k進制,其中k稱為基數。生活中有很多使用不同進制計數的例子,比如:一個小時有60分鐘,用的是六十進制;一個星期有7天,用的是七進制;一年有12個月,用的是十二進制;計算機只能存儲0和1,用的是二進制。
1.十進制
人們生活中最常用的是十進制。十進制由0,1,2,…,9十個基本數字組成,十進制按照“逢十進一”的規則運算,基數為10。計數時,數字從右到左,第一位數字表示1的個數,第二位數字表示10的個數,第三位數字表示100的個數,依此類推。例如,十進制數3721表示:有1個1,2個10,7個100(7個102),3個1000(3個103)。
2.二進制
二進制數有兩個特點:它由兩個基本數字0,1組成;運算規律是逢二進一。
為區別于其他進制數,二進制數的書寫通常在數的右下方標注基數2,或數字后面加B表示。例如,二進制數10110011可以寫成(10110011)2,或寫成10110011B,對于十進制數可以不加注。計算機中的數據均采用二進制數表示,這是因為二進制數具有以下特點:
①二進制數中只有兩個字符0和1,表示元器件的兩個不同穩定狀態。例如,電路中有無電流,有電流用1表示,無電流用0表示。類似的,如電路中電壓的高低,晶體管的導通和截止等。
②二進制數運算簡單,大大簡化了計算中運算部件的結構。
二進制數的加法和乘法運算法則如下:
0+0=0 0+1=1 1+0=1 1+1=10
0×0=0 0×1=0 1×0=0 1×1=1
3.八進制
由于二進制基數較小,所以二進制數據的書寫和閱讀不方便,為此,在計算機中引入了八進制(但最終以二進制形式存在),如UNIX系統的文件權限就用八進制數表示。八進制的基數k=8=23,由基本數字0、1、2、3、4、5、6、7組成,并且每個基本數字正好對應三位二進制數,所以八進制能很好地反映二進制。八進制用下標8或數據后面加o表示,例如,二進制數(11101010.010110100)2對應八進制數(352.264)8或352.264o。
4.十六進制
由于二進制數在使用中位數太長,不容易記憶,所以又提出了十六進制數。十六進制數有兩個基本特點:它由16個字符0~9以及A、B、C、D、E、F(它們分別表示十進制數10~15)組成;十六進制數運算規律是逢十六進一,即基數k=16=24,通常在表示時用尾部標志H或下標16以示區別。例如,十六進制數4AC8可寫成(4AC8)16,或寫成4AC8H。用十六進制或八進制可以解決這個問題。因為,進制越大,數的表達長度也就越短。不過,為什么計算機中偏偏是用十六或八進制數表示二進制數,而不用其他的,諸如九進制或二十進制呢?這是由于2、8、16分別是21、23、24。這一點使得三種進制之間可以非常直接地互相轉換。八進制或十六進制縮短了二進制數的表達長度,但保持了二進制數的表達特點。
- Citrix XenApp Performance Essentials
- Windows Vista基礎與應用精品教程
- 高性能Linux服務器構建實戰:運維監控、性能調優與集群應用
- PLC控制系統應用與維護
- 構建可擴展分布式系統:方法與實踐
- Python UNIX和Linux系統管理指南
- iOS 10 開發指南
- OpenVZ Essentials
- Linux集群之美
- Implementing Domain-Specific Languages with Xtext and Xtend(Second Edition)
- 再也不踩坑的kubernetes實戰指南
- Building E-commerce Sites with Drupal Commerce Cookbook
- 從零開始學Windows 7
- 馴獅記:Mac OS X 10.8 Mountain Lion使用手冊
- Hyper-V Network Virtualization Cookbook