十進位制,八進位制,十六進位制,二進位制怎么相互轉化

2023-01-27 14:56:02 字數 5690 閱讀 5533

1樓:京惜萍鮑融

(汗,沒寫完)

有通用的公式

你輸入一個x進位制下的數,n_x,要轉到y進位制程式設計n_y那麼:將n_x按權,再相加,用十進位制的方法相加//解釋一下:

//如二進位制數1010按權就是1*2(3)+0*2(2)+1*2(1)+0*2(0)

//()裡面表示的是2的n次冪。

然後就可以得到十進位制下的數n。

n不停的除以y,然後按順序記錄下每次除以之後的餘數。將餘數逆序寫出就是n_y了

但是,2進位制中,轉化為16進位制和8進位制的話,有簡單一點的方法:

2進位制的數b,從右往左,4位4位一組(最左面不夠的話,在前面補0)設4位一組是:abc

d對應的數是:842

1例如11

11那麼變成16進位制就是,8+4+2+1=15即16進位制中的f1010變成16進位制就是,8+2=10,即a

如果是2進位制變8進位制,則是3位一組,每組為(421),方法同上

2樓:禰凌波項卓

有通用的公式

你輸入一個x進位制下的數,n_x,要轉到y進位制程式設計n_y那麼:將n_x按權,再相加,用十進位制的方法相加//解釋一下:

//如二進位制數1010按權就是1*2(3)+0*2(2)+1*2(1)+0*2(0)

//()裡面表示的是2的n次冪。

然後就可以得到十進位制下的數n。

n不停的除以y,然後按順序記錄下每次除以之後的餘數。將餘數逆序寫出就是n_y了

但是,2進位制中,轉化為16進位制和8進位制的話,有簡單一點的方法:

2進位制的數b,從右往左,4位4位一組(最左面不夠的話,在前面補0)設4位是:abc

d對應的是:8421

2進位制8進位制10進位制16進位制各個之間如何進行換算?

3樓:肥仙女

一、二進位制與十進位制之間的轉換:

1、十進位制轉二進位制,方法為:十進位制數除2取餘法,即十進位制數除2,餘數為權位上的數,得到的商值繼續除2,依此步驟繼續向下運算直到商為0為止。

2、二進位制轉十進位制,方法為:把二進位制數按權、相加即得十進位制數。

二、二進位制與八進位制之間的轉換:

1、二進位制轉八進位制,3位二進位制數按權相加得到1位八進位制數。(注意事項,3位二進位制轉成八進位制是從右到左開始轉換,不足時補0)。

2、八進位制轉成二進位制,方法為:八進位制數通過除2取餘法,得到二進位制數,對每個八進位制為3個二進位制,不足時在最左邊補零。

三、二進位制與十六進位制之間的轉換

1、二進位制轉十六進位制,方法為:與二進位制轉八進位制方法近似,八進位制是取三合一,十六進位制是取四合一。(注意事項,4位二進位制轉成十六進位制是從右到左開始轉換,不足時補0)。

2、十六進位制轉二進位制,方法為:十六進位制數通過除2取餘法,得到二進位制數,對每個十六進位制為4個二進位制,不足時在最左邊補零。

4樓:匿名使用者

一)、數制

計算機中採用的是二進位制,因為二進位制具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省裝置等優點,為了便於描述,又常用

八、十六進位制作為二進位制的縮寫。

一般計數都採用進位計數,其特點是:

(1)逢n進一,n是每種進位計數製表示一位數所需要的符號數目為基數。

(2)採用位置表示法,處在不同位置的數字所代表的值不同,而在固定位置上單位數字表示的值是確定的,這個固定位上的值稱為權。

在計算機中:d7 d6 d5 d4 d3 d2 d1 d0 只有兩種0和1

8 4 2 1

二)、數制轉換

不同進位計數制之間的轉換原則:不同進位計數制之間的轉換是根據兩個有理數如相等,則兩數的整數和分數部分一定分別相等的原則進行的。也就是說,若轉換前兩數相等,轉換後仍必須相等。

有**制

十進位制:有10個基數:0 ~~ 9 ,逢十進一

二進位制:有2 個基數:0 ~~ 1 ,逢二進一

八進位制:有8個基數:0 ~~ 7 ,逢八進一

十六進位制:有16個基數:0 ~~ 9,a,b,c,d,e,f (a=10,b=11,c=12,d=13,e=14,f=15) ,逢十六進一

1、數的進位記數法

n=a n-1*p n-1+a n-2*p n-2+…+a2*p2+a1*p1+a0*p0

2、十進位制數與p進位制數之間的轉換

①十進位制轉換成二進位制:十進位制整數轉換成二進位制整數通常採用除2取餘法,小數部分乘2取整法。例如,將(30)10轉換成二進位制數。

將(30)10轉換成二進位制數

2| 30 ….0 ----最右位

2 15 ….1

2 7 ….1

2 3 ….1

1 ….1 ----最左位

∴ (30)10=(11110)2

將(30)10轉換成

八、十六進位制數

8| 30 ……6 ------最右位

3 ------最左位

∴ (30)10 =(36)8

16| 30 …14(e)----最右位

1 ----最左位

∴ (30)10 =(1e)16

3、將p進位制數轉換為十進位制數

把一個二進位制轉換成十進位制採用方法:把這個二進位制的最後一位乘上20,倒數第二位乘上21,……,一直到最高位乘上2n,然後將各項乘積相加的結果就它的十進位制表示式。

把二進位制11110轉換為十進位制

(11110)2=1*24+1*23+1*22+1*21+0*20=

=16+8+4+2+0

=(30)10

把一個八進位制轉換成十進位制採用方法:把這個八進位制的最後一位乘上80,倒數第二位乘上81,……,一直到最高位乘上8n,然後將各項乘積相加的結果就它的十進位制表示式。

把八進位制36轉換為十進位制

(36)8=3*81+6*80=24+6=(30)10

把一個十六進位制轉換成十進位制採用方法:把這個十六進位制的最後一位乘上160,倒數第二位乘上161,……,一直到最高位乘上16n,然後將各項乘積相加的結果就它的十進位制表示式。

把十六制1e轉換為十進位制

(1e)16=1*161+14*160=16+14=(30)10

3、二進位制轉換成八進位制數

(1)二進位制數轉換成八進位制數:對於整數,從低位到高位將二進位制數的每三位分為一組,若不夠三位時,在高位左面添0,補足三位,然後將每三位二進位制數用一位八進位制數替換,小數部分從小數點開始,自左向右每三位一組進行轉換即可完成。例如:

將二進位制數1101001轉換成八進位制數,則

(001 101 001)2

| | |

( 1 5 1)8

( 1101001)2=(151)8

(2)八進位制數轉換成二進位制數:只要將每位八進位制數用三位二進位制數替換,即可完成轉換,例如,把八進位制數(643.503)8,轉換成二進位制數,則

(6 4 3 . 5 0 3)8

| | | | | |

(110 100 011 . 101 000 011)2

(643.503)8=(110100011.101000011)2

4、二進位制與十六進位制之間的轉換

(1)二進位制數轉換成十六進位制數:由於2的4次方=16,所以依照二進位制與八進位制的轉換方法,將二進位制數的每四位用一個十六進位制數碼來表示,整數部分以小數點為界點從右往左每四位一組轉換,小數部分從小數點開始自左向右每四位一組進行轉換。

(2)十六進位制轉換成二進位制數

如將十六進位制數轉換成二進位制數,只要將每一位十六進位制數用四位相應的二進位制數表示,即可完成轉換。

例如:將(163.5b)16轉換成二進位制數,則

( 1 6 3 . 5 b )16

| | | | |

(0001 0110 0011. 0101 1011 )2

(163.5b)16=(101100011.01011011)2

參考資料

5樓:匿名使用者

進位制轉換

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進位制只有0、1兩個數,遇到2就進1,比如二進位制裡的10就等於10進位制裡的2。8進位制就是遇8進一,16進位制就是遇16進一。

2進位制到10進位制,個位是2的0次冪,十位是2的1次冪,以此類推,最後結果相加就是所要的10進位制數,例如:1010110=64*1+32*0+16*1+8*0+4*1+2*1+1*0=86。同樣的方法,8進位制、十六進位制,就是將2的幾次冪換成8的幾次冪或16的幾次冪。

10進位制到2進位制,採用短除法,比如25換成二進位制數,首先用25除以2,商12餘1,先不管餘數,繼續除則有以下結果,商6餘0,商3餘0,商1餘1,商0餘1。這個二進位制數就是倒著書寫這些餘數,即11001。8進位制、16進位制方法雷同,不再敘述。

最後,給出個進位制數的組成:

2進位制:0,1

8進位制:0,1,2,3,4,5,6,7

10進位制:0,1,2,3,4,5,6,7,8,9

16進位制:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

二進位制八進位制十進位制十六進位制的英文名稱分別是什麼

二進位制 binary system 八進位制 octal number system十進位制 decimal system 十六進位制 hexadecimal c語言中的可以直接轉,輸出用 d,o,x分別表示十進位制,八進位制,十六進位制,二進位制比較麻煩,你需要使用其他進位制轉成二進位制再輸出 ...

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

一。進位制概念 1。十進位制 十進位制使用十個數字 0 1 2 3 4 5 6 7 8 9 記數,基數為10,逢十進一。歷史上第一臺電子數字計算機eniac是一臺十進位制機器,其數字以十進位制表示,並以十進位制形式運算。設計十進位制機器比設計二進位制機器複雜得多。而自然界具有兩種穩定狀態的元件普遍存...

二進位制,八進位制,十進位制,十六進位制之間是怎樣互相轉化的

這幾個進位制轉換時,二進位制可以很方便轉換為其他進位制,舉例十進位制10,二進位制為1010 二進位制到八進位制 把二進位制每3位劃開,1 010這樣,前面1變成1,後面010變成2,就成了八進位制12.二進位制到十進位制 把二進位制直接按位冪乘起來,再相加。比如,1010 1 2 3 1 2 1 ...