求一組二進位制,八進位制,十進位制,十六進製制互相轉換的例題 習題及

2021-03-21 04:38:32 字數 6239 閱讀 4861

1樓:納蘭旖兒

你是要**還是演算法?

二進位制,八進位制,十進位制,十六進製制之間怎麼轉換

2樓:匿名使用者

一。進製概念

1。 十進位制

十進位制使用十個數字(0、1、2、3、4、5、6、7、8、9)記數,基數為10,逢十進一。

歷史上第一台電子數字計算機eniac是一台十進位制機器,其數字以十進位制表示,並以十進位制形式運算。設計十進位制機器比設計二進位制機器複雜得多。而自然界具有兩種穩定狀態的元件普遍存在,如開關的開和關,電路的通和斷,電壓的高和低等,非常適合表示計算機中的數。

設計過程簡單,可靠性高。因此,現在改為二進位制計算機。

2。 二進位制

二進位制以2為基數,只用0和1兩個數字表示數,逢2進一。

二進位制與遵循十進位制數遵循一樣的運算規則,但顯得比十進位制更簡單。例如:

(1)加法:0+0=0 0+1=1 1+0=1 1+1=0

(2)減法:0-0=0 1-1=01-0=1 0-1=1

(3)乘法:0*0=0 0*1=01*0=0 1*1=1

(4)除法:0/1=0 1/1=1,除數不能為0

3。 八進位制

所謂八進位制,就是其基數為8,基數值可以取0、1、2、3、4、5、6、7共8個值,逢八進一。

八進位制與十進位制運算規則一樣。那麼為什麼要用八進位制呢?難道要設計八進位制的計算機麼?

實際上,八進位制與十六進製制的引用,主要是為了書寫和表示方便,因為二進位制表示位數比較長。如:(1024)10 用二進位制表示為 (10000000000)2,共有11個數字,用八進位制表示為(2000)8。

更重要的是,由於二進位制與八進位制存在在一種對等關係,每三位二進位制與一位八進位制數完全對等(23=8)。所以二進位制和十進位制在運算上無區別,而時進製不具備這一優點。

4。 十六進製制

十六進製制應用也是非常廣泛的一種計數制。在使用者看來,十六進製制是二進位制數的一種更加緊湊的一種表示方法。

基數為:0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f,逢十進一。在十六進製制系統中,數值為10到15的數分別用a、b、c、d、e、f表示。

二進位制數及與之等值的八進位制、十進位制和十六進製制數

二進位制 八進位制 十進位制 十六進製制

0000 0 0 0

0001 1 1 1

0010 2 2 2

0011 3 3 3

0100 4 4 4

0101 5 5 5

0110 6 6 6

0111 7 7 7

1000 10 8 8

1001 11 9 9

1010 12 10 a

1011 13 11 b

1100 14 12 c

1101 15 13 d

1110 16 14 e

1111 17 15 f

二。進製轉換

1。二進位制與十進位制數間的轉換

(1)二進位制轉換為十進位制

將每個二進位制數按權後求和即可。請看例題:

把二進位制數(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10

(2)十進位制轉換為二進位制

一般需要將十進位制數的整數部分與小數部分分開處理。

整數部分計算方法:除2取餘法請看例題:

十進位制數(53)10的二進位制值為(110101)2

小數部分計算方法:乘2取整法,即每一步將十進位制小數部分乘以2,所得積的小數點左邊的數字(0或1)作為二進位制表示法中的數字,第一次乘法所得的整數部分為最高位。請看例題:

將(0.5125)10轉換成二進位制。(0.5125)10=(0.101)2

2。 八進位制、十六進製制與十六進製制間的轉換

八進位制、十六進製制與十六進製制之間的轉換方法與二進位制,同十進位制之間的轉換方法類似。例如:

(73)8=7*81+3=(59)10

(0.56)8=5*8-1+6*8-2=(0.71875)10

(12a)16=1*162+2*161+a*160=(298)10

(0.3c8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10

十進位制整數→→→→→八進位制方法:「除8取餘」

十進位制整數→→→→→十六進製制方法:「除16取餘」 例如:

(171)10=(253)8

(2653)10=(a5d)16

十進位制小數→→→→→八進位制小數 方法:「乘8取整」

十進位制小數→→→→→十六進製制小數方法:「乘16取整」例如:

(0。71875)10=(0.56)8

(0.142578125)10=(0.3c8)16

3.非十進位制數之間的轉換

(1)二進位制數與八進位制數之間的轉換

轉換方法是:以小數點為界,分別向左右每三位二進位制數合成一位八進位制數,或每一位八進位制數展成三位二進位制數,不足三位者補0。例如:

(423。45)8=(100 010 011.100 101)2

(1001001.1101)2=(001 001 001.110 100)2=(111.64)8

2。二進位制與十六進製制轉換

轉換方法:以小數點為界,分別向左右每四位二進位制合成一位十六進製制數,或每一位十六進製制數展成四位二進位制數,不足四位者補0。例如:

(abcd。ef)16=(1010 1011 1100 1101.1110 1111)2

(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5b4b。68)16

3樓:和添錦

在二進位制轉為十進位制時,只需要記住,從左邊起,第一位的權值為2的0次,每往右移動一位,2的冥增加1,然後使用對應的1或者0乘以對應的權位,在加起來就是十進位制:1011010110是二進位制,那麼結果就是:0*2^0+1*2^1+1*2^2+0*2^3+1*2^4+0*2^5+1*2^6+1*2^7+0*2^8+1*2^9,(2^0到2^10數值依次為:

0,1,2,4,8,16,32,64,128,256,512,1024),求出這個多項式的結果:726,這個結果就是1011010110二進位制對應的十進位制數。

二進位制和八進位制的轉換:首先,八等於二的三次方,由此,我們在二進位制轉為八進位制時,從右到左,每三位為一組,分別求這個三位二進位制表示的數,求解完成依次從右到左寫下就ok啦:1011010110是二進位制, 分組:

1 011 010 110,其中110等於十進位制的6,010等於十進位制2,011等於十進位制3,1等於十進位制1(此處可以在1前面補0,使之成為001),,那麼順序寫下十進位制數:1326,這就是1011010110二進位制轉為八進位制的結果。

二進位制轉為十六進製制:因為十六等於二的四次方,由此,在轉換時只需要將二進位制從右到左每四位為一組,求十進位制數,並用十六進製制表示即可(十六進製制中,0-9表示和十進位制一樣,a-10 、b-11 ,c-12 ,d-13 ,e-14 ,f-15).1011010110是二進位制,分組:

0010 1101 0110(最前面位數不夠,在左邊補0 ,因為任何數在左邊補0,這個數不變)0110轉為十進位制為6,1101轉為十進位制為13,13用十六進製制表示為d,0010轉為十進位制為2,那麼順序取值:2d6,這就是二進位制1011010110轉為十六進製制的結果。

4樓:涼城空也

ccandbobo

2011-08-05 09:22

一。進製概念

1。 十進位制

十進位制使用十個數字(0、1、2、3、4、5、6、7、8、9)記數,基數為10,逢十進一。

歷史上第一台電子數字計算機eniac是一台十進位制機器,其數字以十進位制表示,並以十進位制形式運算。設計十進位制機器比設計二進位制機器複雜得多。而自然界具有兩種穩定狀態的元件普遍存在,如開關的開和關,電路的通和斷,電壓的高和低等,非常適合表示計算機中的數。

設計過程簡單,可靠性高。因此,現在改為二進位制計算機。

2。 二進位制

二進位制以2為基數,只用0和1兩個數字表示數,逢2進一。

二進位制與遵循十進位制數遵循一樣的運算規則,但顯得比十進位制更簡單。例如:

(1)加法:0+0=0 0+1=1 1+0=1 1+1=0

(2)減法:0-0=0 1-1=01-0=1 0-1=1

(3)乘法:0*0=0 0*1=01*0=0 1*1=1

(4)除法:0/1=0 1/1=1,除數不能為0

3。 八進位制

所謂八進位制,就是其基數為8,基數值可以取0、1、2、3、4、5、6、7共8個值,逢八進一。

八進位制與十進位制運算規則一樣。那麼為什麼要用八進位制呢?難道要設計八進位制的計算機麼?

實際上,八進位制與十六進製制的引用,主要是為了書寫和表示方便,因為二進位制表示位數比較長。如:(1024)10 用二進位制表示為 (10000000000)2,共有11個數字,用八進位制表示為(2000)8。

更重要的是,由於二進位制與八進位制存在在一種對等關係,每三位二進位制與一位八進位制數完全對等(23=8)。所以二進位制和十進位制在運算上無區別,而時進製不具備這一優點。

4。 十六進製制

十六進製制應用也是非常廣泛的一種計數制。在使用者看來,十六進製制是二進位制數的一種更加緊湊的一種表示方法。

基數為:0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f,逢十進一。在十六進製制系統中,數值為10到15的數分別用a、b、c、d、e、f表示。

二進位制數及與之等值的八進位制、十進位制和十六進製制數

二進位制 八進位制 十進位制 十六進製制

0000 0 0 0

0001 1 1 1

0010 2 2 2

0011 3 3 3

0100 4 4 4

0101 5 5 5

0110 6 6 6

0111 7 7 7

1000 10 8 8

1001 11 9 9

1010 12 10 a

1011 13 11 b

1100 14 12 c

1101 15 13 d

1110 16 14 e

1111 17 15 f

二。進製轉換

1。二進位制與十進位制數間的轉換

(1)二進位制轉換為十進位制

將每個二進位制數按權後求和即可。請看例題:

把二進位制數(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10

(2)十進位制轉換為二進位制

一般需要將十進位制數的整數部分與小數部分分開處理。

整數部分計算方法:除2取餘法請看例題:

十進位制數(53)10的二進位制值為(110101)2

小數部分計算方法:乘2取整法,即每一步將十進位制小數部分乘以2,所得積的小數點左邊的數字(0或1)作為二進位制表示法中的數字,第一次乘法所得的整數部分為最高位。請看例題:

將(0.5125)10轉換成二進位制。(0.5125)10=(0.101)2

2。 八進位制、十六進製制與十六進製制間的轉換

八進位制、十六進製制與十六進製制之間的轉換方法與二進位制,同十進位制之間的轉換方法類似。例如:

(73)8=7*81+3=(59)10

(0.56)8=5*8-1+6*8-2=(0.71875)10

(12a)16=1*162+2*161+a*160=(298)10

(0.3c8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10

十進位制整數→→→→→八進位制方法:「除8取餘」

十進位制整數→→→→→十六進製制方法:「除16取餘」 例如:

(171)10=(253)8

(2653)10=(a5d)16

十進位制小數→→→→→八進位制小數 方法:「乘8取整」

十進位制小數→→→→→十六進製制小數方法:「乘16取整」例如:

(0。71875)10=(0.56)8

(0.142578125)10=(0.3c8)16

3.非十進位制數之間的轉換

(1)二進位制數與八進位制數之間的轉換

轉換方法是:以小數點為界,分別向左右每三位二進位制數合成一位八進位制數,或每一位八進位制數展成三位二進位制數,不足三位者補0。例如:

(423。45)8=(100 010 011.100 101)2

(1001001.1101)2=(001 001 001.110 100)2=(111.64)8

2。二進位制與十六進製制轉換

轉換方法:以小數點為界,分別向左右每四位二進位制合成一位十六進製制數,或每一位十六進製制數展成四位二進位制數,不足四位者補0。例如:

(abcd。ef)16=(1010 1011 1100 1101.1110 1111)2

(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5b4b。68)16

求十進位制二進位制八進位制十六進製制之間小數的轉換。注意是小數的轉換。謝謝了。求詳細解答。通俗易懂

小數 十進位制轉二進位制 十進位制小數乘以2,整數部分為二進位制小數點後第一位,小數部分再乘以2,整數部分為二進位制小數點後第二位,以此類推.例如 十進位制小數0.1875 0.1875 2 0.375 二進位制0.0 0.375 2 0.75 二進位制0.00 0.75 2 1.5 二進位制0.0...

十進位制二進位制還有八進位制十六進製制中的dboh分

這四個字母分別代表不同進製的字尾 區別如下 d decimal 表示這個數是十進位制 b binary 表示這個數是二進位制 o octor 表示這個數是八進位制 h hex 表示這個數是十六進製制 擴充套件資料 進製之間可以相互轉換,具體方法如下 1 二進位制數 十六進製制數轉換為十進位制數 用按...

二進位制,八進位制,十進位制,十六進製制之間的相互轉換方法

這是我自己製作的進製轉換文件 你可以去看看 有詳細的步驟 如果講軟體處理 變數中的值都是以二進位制儲存的,不能用其他進製。如果要輸出為字串,可以用函式轉換。如果講數制表示 我們平時書寫的數僅僅寫出了表示式的係數,是簡寫法。標準書寫如下 比如乙個數寫為 321。十進位制321 3x10 2 2x10 ...