二進位制與十進位制的轉換的公式,二進位制轉十進位制公式

2021-12-19 00:02:33 字數 5202 閱讀 2463

1樓:匿名使用者

計算機內部是以二進位制形式表示資料和進行運算的;計算機內的地址等訊號常用十六進位制來表示,而人們日常又習慣用十進位制來表示資料。這樣要表示一個資料就要選擇一個適當的數字符號來規定其組合規律,也就是要確定所選用的進位計數制。各種進位制都有一個基本特徵數,稱為進位制的「基數」。

基數表示了進位制所具有的數字符號的個數及進位的規律。下面就以常用的十進位制、二進位制、八進位制和十六進位制為例,分別進行敘述。

一、常用的三種計數制

1、十進位制(decimal)

十進位制的基數是10,它有10個不同的數字符號,即0、1、2、3、…、9。它的計數規律是「逢十進一」或「借一當十」。處在不同位置的數字符號具有不同的意義,或者說有著不同的「權」。

所謂的「權」就是每一位對其基數具有不同的倍數。例如,一個十進位制數為

123.45=1*102+2*101+3*100+4*10-1+5*10-2

等號左邊為並列表示法,等號右邊為多項式表示法,顯然這兩種表示法表示的數是等價的。在右邊多項式表示法中,1、2、3、4、5被稱為係數項,而102、101、100、10-1、10-2等被稱為該位的「權」。

一般來說,任何一個十進位制數」都可以採用並列表不法表不如下:

n10=dn-1d n-2…d1d0. d-1d-2…d-m

其中,下標n表示整數部分的位數,下標m表示小數部分的位數,d是0~9中的某一個數,即di∈(0,1,…,9)。同樣,任意一個十進位制數n都可以用多項式表示法表示如下:

n10=dn-1*10n-1+…+d1*101+d0*100+d-1*10-1+…+d-m*10m

其中,m、n為正整數,di 表示第i位的係數,10i 稱為該位的權。所以某一位數的大小是由各系數項和其權值的乘積所決定的。

2、二進位制(binary)

二進位制的基數是2,它只有兩個數字符號,即0和1。計算規律是「逢二進一」或「借一當二」。例如:

(101.01)2=1*23+1*22+0*21+1*20+0*2-1+1*2-2

任何一個二進位制數n都可以用其多項式來表示:

式中任何一位數值的大小都可以用該位的係數項 di 和權值 2i 的積來確定。

3、十六進位制(hexadecimal)

十六進位制的基數為16,它有16個數字符號、即0~9、a~f。其中 a、b、c、d、e、f 分別代表十進位制數的10、11、12、13、14、15。各位之間「逢十六進一」或者「借一當十六」。

各位的權值為 16i。例如:

(2c7.1f)16=2*162+12*161+7*160+1*16-1+15*16-2

二、3種計數制之間的相互轉換

對於同一個數,可以採用不同的計數制來表示,其形式也不同。如:

(11)10=(1011)2=(b)16

1、r 進位制轉換成十進位制的方法

具體的方法是先將其並列形式的數寫成其多項式表示形式,然後,經計算後就可得到其十進位制的結果。這種方法披稱為按權法。對於一個任意的r進位制數n都可以寫成如下形式:

n = dn-1 dn-2…d1 d0d-1d-2…d-m = dn-1*rn-1+…+d1*r1+d0*r0+d-1*r-1+…+d-m*r-m

其中,r 為進位基數,ri 是對應位的權值,di 為係數項,特此式求和計算之後,即可以完成 r 進位制數對十進位制數的轉換。

例如,寫出(1101.01)2、(10d)16的十進位制數。

(1101.01)2=1*23+1*22+0*21+1*20+0*2-1+0*2-2 =8+4+1+0.25 =13.25

(10d)16=1*162+0*161+13*160 = 256+13 = 269

2、十進位制轉換成二進觸方法

十進位制數轉換成二進位制數一般分為兩個步驟,即整數部分的轉換和小數部分的轉換。

(1)整數部分的轉換

除2取餘法:這種方法是由於 d10=n2=dn-1*2n-1+dn-2*2n-2+…d1*21+d0*20,所以具體方法是把給定的十進位制整數除以2,取其餘數作為二進位制整數最低位的係數 do,然後繼續將整數部分除以2,所得餘數作為二進位制整數次低位的係數 d1,一直重複下去,最後可以得到二進位制整數部分。

例如,將(327)10轉換成二進位制數。

327 餘數 各項係數

除以2= 163 ... 1 d0

... 81 ... 1 d1

... 40 ... 1 d2

... 20 ... 0 d3

... 10 ... 0 d4

... 5 ... 0 d5

... 2 ... 1 d6

... 1 ... 0 d7

... 0 ... 1 d8

所以,(327)10=d8 d7 d6 d5 d4 d3 d2d1 d0=(101000111)2。

此方法可擴充套件為陳 r 取餘法。如將 r 設為16,則可將十進位制整數轉變為十六進位制整數。

減權定位法:因為 d10=n2=dn-1*2n-1+dn-2*2n-2+…d1*21+d0*20,所以二進位制多項式中的每一項都有自己的權值。若該項係數值為 di=0,則該項值為0,否則 di 應為1。

根據這一對應關係,可提出減權定位的轉換方法:將十進位制數依次從二進位制高位權值進行比較:若夠減則對應位 di=1,減去該位權值後再往下比較;若不夠減則對應值 di=0,越過該位與低一位的權值比較,如此進行直到餘數為0為止。

例如,將(327)10轉換成二進位制數。因為512(29)> 327 > 256(28),所以從權值256對應值開始比較。

減權比較 di 位權

327-256=71 1 28

71<128 0 27

71-64=7 1 26

7<32 0 25

7<16 0 24

7<8 0 23

7-4=3 、 22

3-2=1 1 21

1-1=0 1 20

所以,(327)10=(101000111)2。

(2)小數部分的轉換

轉換的方法是採用乘2取整數表示法。由於 d10=d-1*2-1+d-2*2-2+…d-m*2-m,所以具體方法是把給定的十進位制小數乘以2,取其整數部分作為二進位制小數的小數點後的第一位係數;然後再將乘積的小數部分繼續乘以2,取所得積的整數部分作為小數後的第二位係數;依次重複做下去,就可以得到二進位制小數部分。

例如,將(0.8125) 10。轉換成二進位制小數。

整數部分 係數部分

2*0.8125=1.625 1 d-1=1

2*0.625=1.25 1 d-2=1

2*0.25=0.5 0 d-3=0

2*0.5=1.0 1 d-4=1

所以,(0.8125)10=d0 d-1 d-2 d-3 d-4=(0.1101)2。

在計算中可以按照所需的小數點位數,取其結果位近似值。

此方法可以擴充套件為乘r取整法.如將r變為16,則可將十進位制小數部分直接變為十六進位制小數。

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

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

4位二進位制數的所有組合可表示十六進位制數的16個**,它們之間的對應關係如下:

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

十六進位制 0 1 2 3 4 5 6 7

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

十六進位制 8 9 a b c d e f

進位制轉換的具體方法:從小數點開始,分別向左、向右,每4位二進位制數為一組用十六進位制數值來書寫。若小數點左側位數不是4的倍數,則最左側用0補充;若小數點右側位數不是4的倍數,則最右側用0補充。

例如,(110110111.01101)2=(0001 1011 0111.0110 1000)2 =(1b7.68)16。

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

具體的轉換方法是:將每個十六進位制數用4位二進位制數來書寫,轉化後最左側或者最右側的0在書寫的時候可以省去。例如:

(7ac.de)16=(111 1010 1100.1101 111)2

例1:把(5/16)10轉換成二進位制數。

解:5/16=5×2-4=(101 2*(0.0001)2=(0.0101)2

小數點向左移4位等於乘以2-4。

例2:把(19.125) 10轉換成二進位制數、十六進位制數。

解:首先把整數部分(19)10轉換成二進位制數:

(19)10=16+2+1=24+21+20=(10011)2

再把小數部分(0.125)10轉換成二進位制數:

0.125*2=0.25 0

0.25*2=0.5 0

0.5*2=1 1

所以,(0.125)10=(0.001) 2。

把整數與小數部分合起來結果為

(19.125)10=(10011.001)2=(13.2)16

2樓:匿名使用者

不太好說.例如

(101)2=1*2^0+0*2^1+1*2^2=(5)10

二進位制轉十進位制公式

3樓:雜貨鋪

方法:「按權求和」。

【例】:

二進位制1011轉換成十進位制是11:

規律:個位上的數字的次數是0,十位上的數字的次數是1,......,依次遞增,而十

分位的數字的次數是-1,百分位上數字的次數是-2,......,依次遞減。

注意:不是任何一個十進位制小數都能轉換成有限位的二進位制數。

4樓:匿名使用者

通用公式為:abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)

1、要從右到左用二進位制的每個數去乘以2的相應次方,小數點後則是從左往右。

2、例如:二進位制數1101.01轉化成十進位制

1101.01(2)=1*20+0*21+1*22+1*23 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25(10)

3、二進位制是計算技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數。

4、它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」。

擴充套件資料

把二進位制數首先寫成加權係數式,然後按十進位制加法規則求和。這種做法稱為"按權相加"法。

2的0次方是1(任何數的0次方都是1,0的0次方無意義)

2的1次方是2

2的2次方是4

2的3次方是8

2的4次方是16

2的5次方是32

參考資料

二進位制與十進位制的換算二進位制和十進位制轉換怎麼算?

人們通常使用的是十進位制。它的特點有兩個 有0,1,2 9十個基本字元組成,十進位制數運算是按 逢十進一 的規則進行的.在計算機中,除了十進位制數外,經常使用的數制還有二進位制數和十六進位制數.在運算中它們分別遵循的是逢二進一和逢十六進一的法則.2 二進位制數 3 二進位制數有兩個特點 它由兩個基本...

二進位制轉十進位制公式

方法 按權求和 例 二進位制1011轉換成十進位制是11 規律 個位上的數字的次數是0,十位上的數字的次數是1,依次遞增,而十 分位的數字的次數是 1,百分位上數字的次數是 2,依次遞減。注意 不是任何一個十進位制小數都能轉換成有限位的二進位制數。通用公式為 abcd.efg 2 d 20 c 21...

急!急!急!二進位制與十進位制的轉換

1011 11 1110 14 1001119 11111110 254 從最右邊開始,0乘以2的0次方 1乘以2的1次方 1乘以2的2次方一直加到最左邊1乘以2的7次方,所得的和就是十進位制的值,這樣可以實現二進位制轉換為十進位制 二進位制 十進位制 1011 11 1110 14 10011 1...