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