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