(一)進製計數制的基本概念
將數字符號按序排列成數字,並遵照某種由低位到高位進製的方法進行計數,來表示數值的方式,稱作進製計數制。比如,我們常用的是十進位計數制,簡稱十進位制;就是按照「逢十進一」的原則進行計數的。
進製計數制的表示主要包含三個基本要素:數字、基數和位權。數字是指數碼在乙個數中所處的位置;基數是指在某種進製計數制中,每個數字上所能使用的數碼的個數,例如十進位計數制中,每個數字上可以使用的數碼為0、1、2、3…9十個數碼,即其基數為10;位權是指乙個固定值,是指在某種進製計數制中,每個數字上的數碼所代表的數值的大小,等於在這個數字上的數碼乘上乙個固定的數值,這個固定的數值就是這種進製計數制中該數字上的位權。數碼所處的位置不同,代表數的大小也不同。例如在十進位計數制中,小數點左邊第一位位權為 100,左邊第二位位權為 101;左邊第三位位權為102;…。 小數點右邊第一位位權為10-1;小數點右邊第二位位權為10-2;…以次類推。
1.十進位制
十進位計數制簡稱十進位制;有十個不同的數碼符號:0、1、2、3、4、5、6、7、8、9。每個數碼符號根據它在這個數中所處的位置(數字),按「逢十進一」來決定其實際數值,即各數字的位權是以10為底的冪次方。
例如:(215.48)
10 = 2×102+1×101+5×10 0+4×10-1+8×10-2
2.二進位制
二進位計數制簡稱二進位制;有二個不同的數碼符號:0、1。每個數碼符號根據它在這個數中所處的位置(數字),按「逢二進一」來決定其實際數值,即各數字的位權是以2為底的冪次方。
例如:(11001. 01)
2 = 1×24+1×23+0×22+0×21+1×20+0×2-1+1×2-2 = (25.25)10
3.八進位制
八進位計數制簡稱八進位制;有八個不同的數碼符號:0、1、2、3、4、5、6、7。每個數碼符號根據它在這個數中所處的位置(數字),按「逢八進一」來決定其實際數值,即各數字的位權是以8為底的冪次方。
例如:(162.4)
8 = 1×82+6×81+2×80+4×8-1 = (114.5)10
4.十六進製制
十六進製計數制簡稱十六進製制;有十六個不同的數碼符號:0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f。每個數碼符號根據它在這個數中所處的位置(數字),按「逢十六進一」來決定其實際數值,即各數字的位權是以16為底的冪次方。
例如:(2bc.48)
16 = 2×162+b×161+c×160+4×16-1+8×16-2 = (700.28125)10
總結以上四種進製計數制,可以將它們的特點概括為每一種計數制都有乙個固定的基數,每乙個數字可取基數中的不同數值;每一種計數制都有自己的位權,並且遵循「逢基數進一」的原則。
(二)進製計數制之間的轉換
1、二進位制轉換到十進位制簡易方法:(10110101)2此數從低位到高位分別在對應數字下寫上:20
2122
232425
2627
對(1 2 4 8 16 32 64 128)對應相乘後相加(紅色數字相加)得:(181)10
2.不同進製計數制之間的轉換,實質是基數轉換。一般轉換的原則是:如果兩個有理數相等,則兩個數的整數部分和小數部分一定分別相等。因此,數制之間進行轉換時,通常對整數部分和小數部分分別進行轉換。
1.非十進位制數(n 進製數)轉換為十進位制數 方法:將各個n進製數按權展開求和即可。
例如:(10110.11)
2 = 1×24+0×23+1×22+1×21+0×20+1×2-1+1×2-2=(22.75)10
(125.24)
8 = 1×82+2×81+5×8 0+2×8-1+4×8-2=(85.3125)10
(3a8.48)
16 = 3×162+a×161+8×160+4×16-1+8×16-2=(936.28125)10
2.十進位制數轉換為非十進位制數(n進製數) 方法:整數部分採取「除基數取餘法」,小數部分採取「乘基數取整法」。
1)十進位制轉換為二進位制數 方法:整數部分採取「除2取餘法」,小數部分採取「乘2取整法」。
例如:將十進位制(123.75)
10轉換為二進位制數
整數部分123轉換如下:
餘數.小數點
2 123 1 整數低位
2 61 1
2 30 0
2 15 1
2 7 1
2 3 1
2 1 1
0 1 整數高位
小數部分0.75轉換如下:
小數點.整數 0.75
| * 2
小數首位 | 1 1.50
| 0.50
| * 2
小數末位 | 1 1.00
00——為零,轉換結束
即 (123.75)10 = (1111011.11)2
2)十進位制轉換為八進位制數
方法:整數部分採取「除8取餘法」,小數部分採取「乘8取整法」。
例如:將十進位制(123.75)
10轉換為八進位制數
餘數.小數點
8 | 123 | 整數低位
8 | 15 3 |
8 | 1 7 |
0 1 | 整數高位
小數點.整數 0.75
| * 8
| 6 6.00
| 00——為零,轉換結束 即
(123.75)10 = (173.6)8
3) 十進位制轉換為十六進製制數 方法:整數部分採取「除16取餘法」,小數部分採取「乘16取整法」。
例如:將十進位制(123.75)
10轉換為16進製制數
餘數.小數點
16 | 123 | 整數低位
16 | 7 b |
0 7 | 整數高位
小數點.整數 0.75
| * 16
| c 12.0
| 0——為零,轉換結束
即 (123.75)10 = (7b.c)16
3.非十進位制數之間的相互轉換
1) 八進位制數與二進位制數之間的轉換
由於一位八進位制數相當於三位二進位制數,因此,要將八進位制數轉換成二進位制數時,只需以小數點為界,向左或向右每一位八進位制數用相應的三位二進位制數取代即可。如果不足三位,可用零補足之。反之,二進位制數轉換成相應的八進位制數,只是上述方法的逆過程,即以小數點為界,向左或向右每三位二進位制數用相應的一位八進位制數取代即可。
例如:將八進位制數(357.162)
8轉換成二進位制數。
3 5 7 · 1 6 2
011
101111
001110
010
即(357.162)
8 = (11101111.0011101) 2
例如:將二進位制數(101011110.10110001)2轉換成八進位制數。
101
011110 · 101
100010
5 3 6 5 4 2
即
(101011110.10110001)2 = (536.542)8
2)十六進製制數與二進位制數之間的轉換
由於一位十六進製制數相當於四位二進位制數,因此,要將十六進製制數轉換成二進位制數時,只需以小數點為界,向左或向右每一位十六進製制數用相應的四位二進位制數取代即可。如果不足四位,可用零補足之。反之,二進位制數轉換成相應的十六進製制數,只是上述方法的逆過程,即以小數點為界,向左或向右每四位二進位制數用相應的一位十六進製制數取代即可。
例如:將十六進製制數(5ab.8ce)
16轉換成二進位制數。
5 a b · 8 c e
0101
1010
1011
1000
1100
1110
即
(5ab.8ce)16 = (10110101011.10001100111)2
例如:將二進位制數
(1100101001011.001100101)2轉換成十六進製制數。
0001
1001
0100
1011 · 0011
0010
1000
1 9 4 b 3 2 8
即 (1100101001011.001100101)2 = (194b.328)16
計算機進製轉換
一 計算機只認識0和1,二進位制。二 2進製轉換成 8進製 和 16進製制,如下圖 二進位制 八進位制 研究上圖發現,3位最高二進位制可以用來表示一位八進位制。所以,將二進位制分解每3位,不夠前面補0,然後每3位轉換為10進製,順序排列即可。二進位制 十六進製制 4位最高二進位制可以用來表示一位十六...
計算機基礎 進製轉換
0111 0101 2 6 2 5 2 4 2 2 2 0 64 32 16 4 1 1171.把十進位制數字拆分成多個2的整數次方之和,把每個拆分結果單獨轉換成二進位制,最後把所有轉換結果合併。85 64 16 4 1 2 6 2 4 2 2 2 0 0100 0000 0001 0000 000...
計算機進製及轉換
計算機使用二進位制,另外常用的還有八進位制 十進位制和十六進製制。1 二進位制 滿2進1,0 1表示,在jdk1.7之前程式中不容許定義二進位制數字,從jdk1.7開始可以定義。一般以0b 0b作為開頭 1 八進位制 滿8進1,0 7表示,一般以0作為開頭 1 十進位制 滿10進1,0 9表示,如果...