數值系統(numerical system)即以不同數值為基數數字系統。的在日常的生活中,我們使用包括符號0到9的十進制數值系統。十進制數值系統有10個符號,因此,又稱為以10為基數的數值系統。我們也可以采用使用不同數目的符號的數值系統。以2為基數的數值系統使用2個符號,以8為基數的數值系統使用8個符號,以16為基數的數值系統使用16個符號。這些是我們通信系統中要經常用到的數值系統,因此必然會經常要使用他們之間的互相轉換。在了解這些數值系統之間的相互轉換之前,我們先簡單認識一下這些數值系統和按位取值的規則。
第一部分:常用數值系統
1、十進制數值系統
十進制數值系統中的每個數值都可以使用10個符號來表示,這就是0,l,2,3,4,5,6,7,8和9。對于這些符號本身以及如何使用它們來表示一個數值,大家已經很熟悉了。例如,當你看到數值123的時候,你知道它代表著一百二十三。但是,是什么規則告訴你符號123代表著一百二十三呢?你所使用的規則就是按位取值的規則。
規則告訴我們最右邊的數位(假設沒有小數點)代表著1的位置。更精確地講,最右邊的數位代表的值是100的倍數,因為100=1。第2個數位表示的值是101的倍數,依次類推。于是,123就等于:
(1×102)+(2×101)+(3×100)= 100+20+3=123
使用位置表示的概念,你就不單單可以使用以10為基數的數值系統工作了。各個位的值都可以以10的冪的形式表示。
2、二進制數值系統
計算機不能使用以10為基數那樣的數值系統。計算機本質上是由數百萬的元件組成,這些元件只有開和關兩種狀態。使用符號0和1來表示開關的開和關的兩種狀態,這是符合邏輯的。這種方法叫做以2為基數的數值系統或者叫做二進制數值系統。在以2為基數的數值系統里,你所使用的2個符號叫做二進制數字,或者簡稱為位。
使用按位取值的方法,第一位所代表的值是“位值(0或1)×20”(記住,以2為基數),或者是“位值(0或1)×1”。由于位值只可能取0和1之間的一個值,第一位代表的值就是0或1。
第二位代表的值是“位值(0或1)×21”,或者“位值(0或1)×2”。因為位值只可能是0或1,因此,第二位代表的值就是0或2。第三位代表的值是“位值(0或1)×22”,或者“位值(0或1)×4”,它的值是0或4。注意每個較高位的值都是前一位的值的兩倍。在二進制數值系統中,各個位的值都是2的冪,分別是1、2、4、8和16等等。
3、八進制數值系統
如果我們把二進制數值系統1101100101110011按每3位一組寫出來,由于在最左邊只剩下一位,故在前補兩個01你可能會注意到一些事情:
001 101 100 101 110 011
每3位一組的數值都是在0和7之間。這種新的表示方法就是八進制數值系統,或者叫做以8為基數的數值系統。對八進制數字的按位取值是8的冪,分別是1、8、64、512和4096等等。盡管你已經能夠使用八進制數值系統來表示二進制數,但是這種方法并不常用。在計算機通信系統往往按照4位、8位或16位來操作二進制數值。
4、十六進制數值系統
如果使用4位一組來表示二進制數,那就得到:
1101 1001 0111 0011
每4位一組所表示的值都在0到15之間。你可以使用一個符號來表示每個4位組,一共需要16個符號。已經有了10個(0到9)非常熟悉的符號,但是還缺6個。不妨從26個英文字母中借用6個。這樣,我們就有了所需的符號A、B、C、D、E、F。新的方案采用了16個符號,因此,它自然叫做十六進制數值系統(hexadecimal numbering system)。同理,對16進制數字的按位取值,是16的冪的形式。計算機也并不使用十六進制數值系統。人們使用十六進制系統,是為了使得二進制數值更加容易閱讀和操作。
5、點分十進制表示法
我們還常用到另一種表示二進制數值的方法叫做點分十進制表示法(dotted decimal notation)。每8位一組(一個字節)被表示成為一個十進制數值,每個十進制數值之間有一個圓點。每個8位組數值的范圍在0到255之間。使用8位組表示的最小值是0(0000 0000);最大值是:
1111 1111=128+64+32+16+8+4+2+1=255
因此,二進制數11011001 01110011可以用點分十進制法表示為217.115。
第二部分:數值間的轉換
在研究通信技術中,會經常遇到上述5種數值系統之間的相互轉換。其轉換的方法有查表法和計算法。下表1給出了十進制的0~255與二進制、十六進制間轉換表,可以查表所得。
表2:二進制/十進制/十六進制轉換表
但是最基本的計算方法還是有必要掌握的。下面給出這5種數值系統之間相互轉換的基本計算方法,包括的內容如下表,具體詳見附錄,主要依據的是按位取值的規則。
類型 |
分類 |
類型 |
分類 |
一、 二進制到其它數值系統的轉換 |
1、二進制到八進制 |
二、 八進制到其它數值系統的轉換 |
1、八進制轉換為二進制 |
2、二進制到十六進制 |
2、八進制到十六進制 |
||
3、二進制到十進制 |
3、八進制到十進制 |
||
4、二進制到點分十進制的轉換 |
4、八進制到點分十進制的轉換 |
||
三、 十六進制到其它數值系統的轉換 |
1、十六進制轉換為二進制 |
四、 十進制到其它數值系統的轉換 |
1、十進制轉換為二進制 |
2、十六進制轉換為八進制 |
2、十進制轉換為八進制 |
||
3、十六進制轉換為十進制 |
3、十進制轉換為十六進制 |
||
4、十六進制轉換為點分十進制 |
|
我們掌握了按位取值規則的計算方法,可以觸類旁通,實現任意數值系統中的數值計算它們之間的互相轉換。
欲更多了解常用函數及計算的請進入。