二進位制八進位制十進位制十六進位制數之間的相互轉

2021-03-04 02:26:46 字數 6798 閱讀 1863

1樓:雪

有一個公式:二進位制數、八進位制數、十六進位制數的各位數字分別乖以各自的基數的(n-1)次方,其和相加之和便是相應的十進位制數。個位,n=1;十位,n=2...舉例:

110b=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6d

110q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72d

110h=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272d

2、十進位制數轉二進位制數、八進位制數、十六進位制數

方法是相同的,即整數部分用除基取餘的演算法,小數部分用乘基取整的方法,然後將整數與小數部分拼接成一個數作為轉換的最後結果。

3、二進位制數轉換成其它資料型別

3-1二進位制轉八進位制:從小數點位置開始,整數部分向左,小數部分向右,每三位二進位制為一組用一位八進位制的數字來表示,不足三位的用0補足,

就是一個相應八進位制數的表示。

010110.001100b=26.14q

八進位制轉二進位制反之則可。

3-2二進位制轉十進位制:見1

3-3二進位制轉十六進位制:從小數點位置開始,整數部分向左,小數部分向右,每四位二進位制為一組用一位十六進位制的數字來表示,

不足四位的用0補足,就是一個相應十六進位制數的表示。

00100110.00010100b=26.14h

十進位制轉各進位制

要將十進位制轉為各進位制的方式,只需除以各進位制的權值,取得其餘數,第一次的餘數當個位數,第二次餘數當十位數,其餘依此類推,直到被除數小於權值,最後的被除數當最高位數。

一、十進位制轉二進位制

如:55轉為二進位制

2|55

27――1 個位

13――1 第二位

6――1 第三位

3――0 第四位

1――1 第五位

最後被除數1為第七位,即得110111

二、十進位制轉八進位制

如:5621轉為八進位制

8|5621

702 ―― 5 第一位(個位)

87 ―― 6 第二位

10 ―― 7 第三位

1 ―― 2 第四位

最後得八進位制數:127658

三、十進位制數十六進位制

如:76521轉為十六進位制

16|76521

4726 ――5 第一位(個位)

295 ――6 第二位

18 ――6 第三位

1 ―― 2 第四位

最後得1276516

二進位制與十六進位制的關係

2進位制 0000 0001 0010 0011 0100 0101 0110 0111

16進位制 0 1 2 3 4 5 6 7

2進位制 1000 1001 1010 1011 1100 1101 1110 1111

16進位制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)

可以用四位數的二進位制數來代表一個16進位制,如3a16 轉為二進位制為:

3為0011,a 為1010,合併起來為00111010。可以將最左邊的0去掉得1110102

右要將二進位制轉為16進位制,只需將二進位制的位數由右向左每四位一個單位分隔,將各單位對照出16進位制的值即可。

二進位制與八進位制間的關係

二進位制 000 001 010 011 100 101 110 111

八進位制 0 1 2 3 4 5 6 7

二進位制與八進位制的關係類似於二進位制與十六進位制的關係,以八進位制的各數為0到7,以三位二進位制數來表示。如要將51028 轉為二進位制,5為101,1為001,0為000,2為010,將這些數的二進位制合併後為1010010000102,即是二進位制的值。

若要將二進位制轉為八進位制,將二進位制的位數由右向左每三位一個單位分隔, 將事單位對照出八進位制的值即可。

一.在計算機應用中,二進位制使用字尾b表示;十進位制使用字尾d表示,八進位制用q表示,十六制使用字尾h表示。

二.二進位制,十六進位制與十進位制的計算轉換

1.二進位制轉換為十進位制

計算公式:二進位制資料x位數字乘以2的x-1次方的積的總和

例:10101011b=( )d

資料1 0 1 0 1 0 1 1

x-1位

7 6 5 4 3 2 1 0

相應的十進位制值即為:27 +25+23+21+20=128+32+8+2+1=171

2.十六進位制轉換十進位制

計算公式:二進位制資料x位數字乘以16的x-1次方的積的總和(與二進位制轉換十制進同理的,將底數換為16)

注意:在十六進位制中,10-16依次用a,b,c,d,e,f表示

例:1f3e h=( )d

計算:1*16的3次方+16*16的2次方+3*16的1次方+15*16的0次方=1*4096+16*256+3*16+15*16=4096+4096+48+240=8480

三.十進位制與二進位制,十六制的計算轉換

1.十進位制轉換為二進位制

十進位制資料數字除以2的餘數的逆序組合

例:404d=( )b2|4

2樓:匿名使用者

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

(1) 十進位制轉換為二進位制,分為整數部分和小數部分

① 整數部分

方法:除2取餘法,即每次將整數部分除以2,餘數為該位權上的數,而商繼續除以2,餘數又為上一個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後一個餘數讀起,一直到最前面的一個餘數。下面舉例:

例:將十進位制的168轉換為二進位制

得出結果 將十進位制的168轉換為二進位制,(10101000)2

分析:第一步,將168除以2,商84,餘數為0。

第二步,將商84除以2,商42餘數為0。

第三步,將商42除以2,商21餘數為0。

第四步,將商21除以2,商10餘數為1。

第五步,將商10除以2,商5餘數為0。

第六步,將商5除以2,商2餘數為1。

第七步,將商2除以2,商1餘數為0。

第八步,將商1除以2,商0餘數為1。

第九步,讀數,因為最後一位是經過多次除以2才得到的,因此它是最高位,讀數字從最後的餘數向前讀,即10101000

(2) 小數部分

方法:乘2取整法,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分

為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,舍掉,如果是1,向入一位。換句話說就是0舍1入。

讀數要從前面的整數讀到後面的整數,下面舉例:

例1:將0.125換算為二進位制

得出結果:將0.125換算為二進位制(0.001)2

分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25;

第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5;

第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0;

第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。

例2,將0.45轉換為二進位制(保留到小數點第四位)

大家從上面步驟可以看出,當第五次做乘法時候,得到的結果是0.4,那麼小數部分繼續乘以2,得0.8,0.

8又乘以2的,到1.6這樣一直乘下去,最後不可能得到小數部分為零,因此,這個時候只好學習十進位制的方法進行四捨五入了,但是二進位制只有0和1兩個,於是就出現0舍1入。這個也是計算機在轉換中會產生誤差,但是由於保留位數很多,精度很高,所以可以忽略不計。

那麼,我們可以得出結果將0.45轉換為二進位制約等於0.0111

上面介紹的方法是十進位制轉換為為二進位制的方法,需要大家注意的是:

1) 十進位制轉換為二進位制,需要分成整數和小數兩個部分分別轉換

2) 當轉換整數時,用的除2取餘法,而轉換小數時候,用的是乘2取整法

3) 注意他們的讀數方向

因此,我們從上面的方法,我們可以得出十進位制數168.125轉換為二進位制為10101000.001,或者十進位制數轉換為二進位制數約等於10101000.0111。

(3) 二進位制轉換為十進位制 不分整數和小數部分

方法:按權相加法,即將二進位制每位上的數乘以權,然後相加之和即是十進位制數。例

將二進位制數101.101轉換為十進位制數。

得出結果:(101.101)2=(5.625)10

大家在做二進位制轉換成十進位制需要注意的是

1) 要知道二進位制每位的權值

2) 要能求出每位的值

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

首先,我們需要了解一個數學關係,即23=8,24=16,而八進位制和十六進位制是用這

關係衍生而來的,即用三位二進位制表示一位八進位制,用四位二進位制表示一位十六進位制數。

接著,記住4個數字8、4、2、1(23=8、22=4、21=2、20=1)。現在我們來練習二進位制與八進位制之間的轉換。

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

方法:取三合一法,即從二進位制的小數點為分界點,向左(向右)每三位取成一位,接著將這三位二進位制按權相加,得到的數就是一位八位二進位制數,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的八進位制數。如果向左(向右)取三位後,取到最高(最低)位時候,如果無法湊足三位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足三位。

例①將二進位制數101110.101轉換為八進位制

得到結果:將101110.101轉換為八進位制為56.5

② 將二進位制數1101.1轉換為八進位制

得到結果:將1101.1轉換為八進位制為15.4

(2) 將八進位制轉換為二進位制

方法:取一分三法,即將一位八進位制數分解成三位二進位制數,用三位二進位制按權相加去湊這位八進位制數,小數點位置照舊。例:

① 將八進位制數67.54轉換為二進位制

因此,將八進位制數67.54轉換為二進位制數為110111.101100,即110111.1011

大家從上面這道題可以看出,計算八進位制轉換為二進位制

首先,將八進位制按照從左到右,每位為三位,小數點位置不變

然後,按每位為22,21,20(即4、2、1)三位去做湊數,即a×22+ b×21 +c×20=該位上的數(a=1或者a=0,b=1或者b=0,c=1或者c=0),將abc排列就是該位的二進位制數

接著,將每位上轉換成二進位制數按順序排列

最後,就得到了八進位制轉換成二進位制的數字。

以上的方法就是二進位制與八進位制的互換,大家在做題的時候需要注意的是

1) 他們之間的互換是以一位與三位轉換,這個有別於二進位制與十進位制轉換

2) 大家在做添0和去0的時候要注意,是在小數點最左邊或者小數點的最右邊(即整數的最高位和小數的最低位)才能添0或者去0,否則將產生錯誤

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

方法:與二進位制與八進位制轉換相似,只不過是一位(十六)與四位(二進位制)的轉換,下面具體講解

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

方法:取四合一法,即從二進位制的小數點為分界點,向左(向右)每四位取成一位,接著將這四位二進位制按權相加,得到的數就是一位十六位二進位制數,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的十六進位制數。如果向左(向右)取四位後,取到最高(最低)位時候,如果無法湊足四位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足四位。

①例:將二進位制11101001.1011轉換為十六進位制

得到結果:將二進位制11101001.1011轉換為十六進位制為e9.b

② 例:將101011.101轉換為十六進位制

因此得到結果:將二進位制101011.101轉換為十六進位制為2b.a

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

方法:取一分四法,即將一位十六進位制數分解成四位二進位制數,用四位二進位制按權相加去湊這位十六進位制數,小數點位置照舊。

①將十六進位制6e.2轉換為二進位制數

因此得到結果:將十六進位制6e.2轉換為二進位制為01101110.0010即110110.001

四、八進位制與十六進位制的轉換

方法:一般不能互相直接轉換,一般是將八進位制(或十六進位制)轉換為二進位制,然後再將二進位制轉換為十六進位制(或八進位制),小數點位置不變。那麼相應的轉換請參照上面二進位制與八進位制的轉換和二進位制與十六進位制的轉

五、八進位制與十進位制的轉換

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

方法:按權相加法,即將八進位制每位上的數乘以位權,然後相加之和即是十進位制數。

例:①將八進位制數67.35轉換為十進位制

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

十進位制轉換成八進位制有兩種方法:

1)間接法:先將十進位制轉換成二進位制,然後將二進位制又轉換成八進位制

2)直接法:前面我們講過,八進位制是由二進位制衍生而來的,因此我們可以採用與十進位制轉換為二進位制相類似的方法,還是整數部分的轉換和小數部分的轉換,下面來具體講解一下:

①整數部分

方法:除8取餘法,即每次將整數部分除以8,餘數為該位權上的數,而商繼續除以8,餘數又為上一個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後一個餘數起,一直到最前面的一個餘數。

②小數部分

方法:乘8取整法,即將小數部分乘以8,然後取整數部分,剩下的小數部分繼續乘以8,然後取整數部分,剩下的小數部分又乘以8,一直取到小數部分為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,暫取個名字叫3舍4入。

例:將十進位制數796.703125轉換為八進位制數

解:先將這個數字分為整數部分796和小數部分0.703125

整數部分

小數部分

因此,得到結果十進位制796.703125轉換八進位制為1434.55

上面的方法大家可以驗證一下,你可以先將十進位制轉換,然後在轉換為八進位制,這樣看得到的結果是否一樣

六、十六進位制與十進位制的轉換

十六進位制與八進位制有很多相似之處,大家可以參照上面八進位制與十進位制的轉換自己試試這兩個進位制之間的轉換。

通過上面對各種進位制之間的轉換,我們可以將前面的轉換圖重新完善一下:

簡述二進位制 八進位制 十進位制數以及十六進位制數之間相互轉換的方法

二進位制與十進位制之間的轉換 1十進位制轉二進位制 方法為 十進位制數除2取餘法,即十進位制數除2,餘數為權位上的數,得到的商值繼續除2,依此步驟繼續向下運算直到商為0為止。具體用法如下圖 2二進位制轉十進位制 方法為 把二進位制數按權 相加即得十進位制數。具體用法如下圖 end二進位制與八進位制之...

二進位制,八進位制,十進位制,十六進位制都是什麼概念,他們之間怎樣轉

1 二進位制 數 八進位制數 十六進位制數轉十進位制數 有一個公式 二進位制數 八進位制數 十六進位制數的各位數字分別乖以各自的基數的 n 1 次方,其和相加之和便是相應的十進位制數。個位,n 1 十位,n 2.舉例 110b 1 2的2次方 1 2的1次方 0 2的0次方 0 4 2 0 6d 1...

對二進位制 八進位制 十進位制 十六進位制補碼的理解和舉例,幫忙看對不對

首先,你要對數的概念有個準確的瞭解。我們說三個蘋果,這個三就是數,日常生活中我們知道或者說約定,這個三是十進位制。進位制,只是為了表示一個數形式的約定。我們寫個10,在不約定進位制時,我們是不知道他是表示什麼數。我們寫個數十,不管它轉換成什麼進位制,它的值都是不變的。關於補碼,只是計算機設計人員為了...