計算機知識 進製轉換

2021-06-16 00:51:40 字數 4561 閱讀 5448

(一)進製計數制的基本概念

將數字符號按序排列成數字,並遵照某種由低位到高位進製的方法進行計數,來表示數值的方式,稱作進製計數制。比如,我們常用的是十進位計數制,簡稱十進位制;就是按照「逢十進一」的原則進行計數的。

進製計數制的表示主要包含三個基本要素:數字、基數和位權。數字是指數碼在乙個數中所處的位置;基數是指在某種進製計數制中,每個數字上所能使用的數碼的個數,例如十進位計數制中,每個數字上可以使用的數碼為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表示,如果...