- 優等生必會的數學技巧
- 于雷等編著
- 3112字
- 2019-07-16 17:43:35
6.進制
進制也叫作進位制,是人們規定的一種進位方法。對于任何一種進制——X進制,就表示某一位置上的數運算時是逢X進一位。二進制就是逢二進一,十進制就是逢十進一,十六進制就是逢十六進一,以此類推,X進制就是逢X進一位。
對于任何一個數,我們都可以用不同的進位制來表示。比如,十進數57,可以用二進制表示為111001,也可以用五進制表示為212,還可以用八進制表示為71,用十六進制表示為39,它們所代表的數值都是一樣的。
1)二進制數
二進制是計算機技術中廣泛采用的一種數制,它是用0和1兩個數碼來表示的數。
在現實生活和計數器中,如果表示數的“器件”只有兩種狀態,如電燈的“亮”與“滅”,開關的“開”與“關”。一種狀態表示數碼0,另一種狀態表示數碼1,1加1應該等于2,因為沒有數碼2,只能向上一個數位進一,就是采用“滿二進一”的原則,這和十進制采用“滿十進一”的原則完全相同。
1+1=10
10+1=11
11+1=100
100+1=101
101+1=110
110+1=111
111+1=1000
…
可見二進制的10表示二,100表示四,1000表示八,10000表示十六……進位規則是“逢二進一”,借位規則是“借一當二”。
0=00000000
1=00000001
2=00000010
3=00000011
4=00000100
5=00000101
6=00000110
7=00000111
8=00001000
9=00001001
10=00001010
…
當前的計算機系統使用的基本上是二進制系統,數據在計算機中主要是以二進制的補碼形式存儲的。計算機的運行和計算都是基于二進制的,只是結果用其他進制表現出來。其實把二進制三位一組分開就是八進制,四位一組就是十六進制。
(1)二進制數據的表示
二進制數據一般可寫為(an-1an-2…a1a0.a-1…a-m)2的形式。例如,(1101.01)2表示二進制數1101.01。
二進制數據可以采用位置計數法,其位權是以2為底的冪。同一個數碼1,在不同數位上表示的數值是不同的。如11111,從右往左數,第一位的1表示一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。例如,二進制數據1101.01,逢二進一,其權的大小順序為23、22、21、20、2-1、2-2。對于有n位整數、m位小數的二進制數據,用加權系數展開式表示,可寫為

例子:將二進制數據1101.01寫成加權系數的形式。
解:
(1101.01)2=1×23+1×22+0×21+1×20+0×2-1+1×2-2
(2)二進制數的運算
①加法
二進制數的加法有四種情況。
0+0=0
0+1=1
1+0=1
1+1=10(進位)
②減法
二進制數的減法有四種情況。
0-0=0
1-0=1
1-1=0
0-1=1
③乘法
二進制數的乘法有四種情況。
0×0=0
1×0=0
0×1=0
1×1=1
④除法
二進制數的除法有兩種情況。
0÷1=0
1÷1=1
⑤拈加法
拈加法是二進制數除加、減、乘、除法以外的一種特殊算法。
拈加法運算與加法運算類似,但不需要進位。此算法在博弈論中被廣泛應用。
2)十進制
在古代世界獨立開發的有文字的計數體系中,除了古巴比倫文明的楔形數字采用六十進制,瑪雅數字采用二十進制外,其余的幾乎全部為十進制。人類算術采用十進制,可能跟人類有十根手指有關。我們有個成語叫“屈指可數”,從古至今,人們數數都離不開手指,而一般人的手指恰好有十根。亞里士多德稱:人類普遍使用十進制,只不過是絕大多數人生來就有十根手指這樣一個解剖學事實的結果。不過,這些十進制計數體系并不是按位的。它們不知道位值制。
所謂位值制,就是一個數碼表示多少,要看它所在的位置而定。現在人們日常生活中所不可或缺的十進位值制,就是中國人民的一項偉大發明。早在商代,中國就已經采用了十進位值制。從現已發現的商代陶文和甲骨文中可以看到,當時就已經用一、二、三、四、五、六、七、八、九、十、百、千、萬十三個數字來計十萬以內的任何自然數。
十進位值制的計數法是古代世界中最先進、最科學的計數法,在世界數學史上也有著非常重要的意義。英國著名的科學史學家李約瑟教授曾對十進制這種中國商代就已出現的計數法予以很高的評價:“如果沒有這種十進制,就幾乎不可能出現我們現在這個統一化的世界了。”
在計算數學方面,中國大約在商周時期就已經有了四則運算,到春秋戰國時期整數和分數的四則運算已相當完備。其中,出現于春秋時期的正整數乘法歌訣“九九歌”,堪稱是先進的十進位計數法與簡明的中國語言文字相結合的結晶。從此,“九九歌”成為數學的普及和發展最基本的基礎之一,一直延續至今。其變化只是古代的“九九歌”是從“九九八十一”開始,到“二二如四”止;而現在的“九九乘法口訣”是從“一一得一”到“九九八十一”。
十進位值制有以下兩個主要特點。
(1)滿十進一,滿二十進二……以此類推。
(2)按權展開,第一位權為100,第二位權為101……以此類推。
一個數的數值,等于每位上的數值乘以該位對應的權值之和。
十進位值制最重要的思想是位權概念。對于形式化的進制表示,我們可以從0開始,對數字的各個數位進行編號,即個位起往左依次編號為0、1、2、…;相對應地,小數點后的數位則是-1、-2、…
十進制數的位權是以10為底的冪。數位由高向低,以降冪的方式排列。
比如,一個十進制數123,其中百位上的1表示1個102,即100;十位上的2表示2個101,即20;個位上的3表示3個100,即3。
可見,在數制中,各位數字所表示值的大小不僅與該數字本身的大小有關,還與該數字所在的位置有關,我們稱這種關系為數的位權。
3)進制轉換
(1)二進制數、十六進制數轉換為十進制數
二進制數、十六進制數轉換為十進制數的規律是相同的。把二進制數(或十六進制數)按位權形式展開為多項式和的形式,求和即為其對應的十進制數——簡稱“按權求和”。
例子:
①把(110.01)2轉換成十進制數。
解:
(110.01)2=1×22+1×21+0×20+0×2-1+1×2-2=4+2+0+0+0.25=6.25
②把(1A2B.C)16轉換為十進制數。
解:
(1A2B.C)16=1×163+10×162+2×161+11×160+12×16-1=4096+2560+32+11+0.75=6699.75
(2)十進制數轉換為二進制數或十六進制數
①正整數轉換為二進制數
一個十進制正整數轉換為二進制數通常采用除二取余法,即用2連續去除這個十進制數,直到商為0,然后逆序排列余數即可——簡稱除二取余法。
例子:將25轉換為二進制數。
解:
25÷2=12……1
12÷2=6……0
6÷2=3……0
3÷2=1……1
1÷2=0……1
所以,25=(11001)2。
②負整數轉換為二進制數
將該負整數對應的正整數先轉換成二進制數,然后對其“取補”,再對取補后的結果加1——簡稱取反加一。
例子:將-52換算成二進制數。
解:先取得52的二進制數:00110100
對所得到的二進制數取反:11001011
將取反后的數值加1:11001100
所以,-52=(11001100)2。
③小數轉換為二進制數
對被轉換的小數乘以2(如有整數部分可分開計算),記下其整數部分;取其小數部分再乘以2,再次記下其整數部分;然后繼續取小數部分乘以2……直到小數部分為0或者已經取到了足夠位數。每次記下的整數部分按先后次序排列,就構成了二進制小數的序列——簡稱乘二取整,正序排列。
例子:把0.2轉換為二進制數。
解:
0.2×2=0.4……0
0.4×2=0.8……0
0.8×2=1.6……1
0.6×2=1.2……1
0.2×2=0.4……0
所以,0.2=(0.00110011)2。
同理,把十進制數轉換為十六進制數時,將基數2轉換成16就可以了。
例子:將25轉換為十六進制數。
解:
25÷16=1……9
1÷16=0……1
所以,25=(19)16。
(3)二進制數與十六進制數之間的轉換
由于4位二進制數恰好有16個組合狀態,即1位十六進制數與4位二進制數是一一對應的。
(0)16=(0000)2
(1)16=(0001)2
(2)16=(0010)2
(3)16=(0011)2
(4)16=(0100)2
(5)16=(0101)2
(6)16=(0110)2
(7)16=(0111)2
(8)16=(1000)2
(9)16=(1001)2
(A)16=(1010)2
(B)16=(1011)2
(C)16=(1100)2
(D)16=(1101)2
(E)16=(1110)2
(F)16=(1111)2
所以,十六進制數與二進制數的轉換是十分簡單的。
①十六進制數轉換成二進制數
只要將每一位十六進制數用對應的4位二進制數替代即可——簡稱位分四位。
例子:將(1A2B3)16轉換為二進制數。
解:
1 A 2 B 3
0001 1010 0010 1011 0011
所以,(1A2B3)16=(00011010001010110011)2。
②二進制數轉換為十六進制數
只需把上述過程反過來即可。先將二進制數從右向左每4位分成一組,最后一組不足4位時在前面加0補齊4位。然后依次寫出每組4位二進制數所對應的十六進制數——簡稱四位合一位。
例子:將二進制數(111010110)2轉換為十六進制數。
解:
0001 1101 0110
1 D 6
所以,(111010110)2=(1D6)16。