10進位制轉為2進位制8進位制16進位制的公式

2021-05-30 15:36:13 字數 7780 閱讀 1866

1樓:冬蟲草

方法如下:

1、十進位制整數轉二進位制數方法:除以2取餘數,逆序排列(除二取餘法)。

具體做法:用2整除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為小於1時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

以23為例,步驟如下:

23/2=11.......1

11/2=5.........1

5/2=2............1

2/2=1............0

1/2=0............1

則23(十進位制)=10111(二進位制)。

2、十進位制整數轉八進位制數方法:除以8取餘,逆序排列(除8取餘法)。

具體做法:用8整除十進位制整數,可以得到一個商和餘數;再用8去除商,又會得到一個商和餘數,如此進行,直到商為小於1時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

以214為例,步驟如下:

214/8=26.......6

26/8=3............2

3/8=0...............3

則214(十進位制)=326(八進位制)。

3、十進位制整數轉十六進位制數方法:除以16取餘,逆序排列(除16取餘法)

具體做法:用16整除十進位制整數,可以得到一個商和餘數;再用16去除商,又會得到一個商和餘數,如此進行,直到商為小於1時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

同時,當餘數為10用a表示,11用b表示,12用c表示,13用d表示,14用e表示,15用f表示。

以214為例,步驟如下:

214/16=13.........6

13/16=0...........13

則214(十進位制)=d6(十六進位制)。

擴充套件資料:

二進位制間的計算是逢二進一(其他進位制同理),

其加法: 0+0=0,0+1=1 , 1+0=1, 1+1=10 。如:0110+0101=1011

其乘法:0×0=0,1×0=0,0×1=0,1×1=1。

其減法:0-0=0,1-0=1,1-1=0,0-1=1。

其除法:0÷1=0,1÷1=1。

計算機中的十進位制小數用二進位制通常是用乘二取整法來獲得的。

比如0.45換算成二進位制就是:

0.45 × 2 = 0.9     取0,留下0.9繼續乘二取整

0.9 × 2 = 1.8       取1, 留下0.8繼續乘二取整

0.8 × 2 = 1.6       取1,留下0.6繼續乘二取整

0.6 × 2 = 1.2       取1, 留下0.2繼續乘二取整

0.2 × 2 = 0.4       取0, 留下0.4繼續乘二取整

0.4 × 2 = 0.8       取0, 留下0.8繼續乘二取整

.......

一直迴圈,直到達到精度限制才停止(如:取6位則為011100)。

2樓:匿名使用者

轉2進位制,每次除以2,記下餘數,直到商小於2,然後按相反循序寫出來就是結果。

23/2=商11(餘1)

11/2=商5(餘1)

5/2=2(餘1)

2/2=1(餘0)

所以十進位制23=二進位制10111

轉8進位制,每次除以8,直到商小於8,然後同上。

23/8=商2(餘7)

所以十進位制23=八進位制27

轉16進位制,除以16,然後同上(商和餘數中的10~15用a~f代替)23/16=1(餘7)

所以十進位制23=十六進位制17

3樓:周生

沒有公式,照著計算機組成原理書上的辦法慢慢轉

4樓:匿名使用者

你對著書上的和網上的自己轉換一些數字吧!這種東西數兩遍就熟了,我們說的和書上差不多,到底你還是靜下心來把書看一下吧。。很簡單的o(∩_∩)o~~

計算機二進位制,十進位制,八進位制,十六進位制怎麼轉換

5樓:喵喵喵

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

二進位制數00111從低位到高位的位權依次是2的0次冪1、2的1次冪2、2的2次冪4、2的3次冪8、2的4次冪16。

理解了二進位制計數的基數和位權,就可以進行數制轉換了。00111如何轉換成十進位制計數呢?轉換很簡單,將二進位制數從高位到低位每個數字乘以相應的位權然後求和就可以了。

00111(二進位制)= 0 * 2^(5-1) + 0 * 2^(4-1) + 1 * 2^(3-1) + 1 * 2^(2-1) + 1 * 2^(1-1)

= 0 * 16 + 0 * 8 + 1 * 4 + 1 * 2 + 1 * 1

= 7(十進位制)

2、十進位制轉換為二進位制

十進位制整數到二進位制整數的轉換可以採用「除2取餘,逆序輸出」法,

具體轉換過程是,用2去除一個十進位制數,得到商和餘數,然後再用2去除商,又會得到商和餘數,迴圈往復直至商為0為止。如果是十進位制小數轉二進位制小數,則採用「乘2取整,順序輸出」。轉換過程如下圖所示:

3、二進位制和八進位制之間的轉換

二進位制轉八進位制:取三合一法,即從二進位制的小數點為分界點,向左(向右)每三位取成一位,接著將這三位二進位制按權相加,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的八進位制數。

如果向左(向右)取三位後,取到最高(最低)位時候,如果無法湊足三位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足三位。

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

5、二進位制和十六進位制之間的轉換

二進位制轉十六進位制:取四合一法,即從二進位制的小數點為分界點,向左(向右)每四位取成一位,接著將這四位二進位制按權相加,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的十六進位制數。

如果向左(向右)取四位後,取到最高(最低)位時候,如果無法湊足四位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足四位。

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

7、十進位制和八進位制之間、十進位制和十六進位制之間都是先把十進位制轉換為二進位制,然後在轉換為八進位制或者十六進位制。

擴充套件資料

某進位制計數制允許選用的基本數字符號的個數成為基數。一般來說,n進位制的基數為n,可進行選用的基本數字符號有n個,分別為0到n-1。

比如十六進位制的基數為16,可供選擇的基本數學符號為0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f十六個。

位權是指,該進位制中每一固定位置對應的單位值,簡稱為權。

以十進位制計數制來說,計數單位分別為個位、十位、百位、千位、萬位、十萬位……,其中個位數表示數值1、十位數表示數值10、百位數表示數值100、千位數表示數值1000、……,每個位數表示的數值叫位權。

位權通過計算基數的n-1次冪就可以得到,這裡的n是指位數所在數字中的位置。在十進位制中就是10的(n-1)次冪。

例如,對十進位制數1260來說,個位數是1260的第一個數字,因此n為1;十位數是第二個數字,因此n為2;百位數是第三個數字,因此n為3;千位數是第四個數字,因此n為4。

由此,個位數的位權為10的1-1次冪是1,十位數的位權為10的2-1次冪是10、百位數的位權為10的3-1次冪是100、千位數的位權為10的4-1次冪是1000。

1260 = 1 * 10^(4-1) + 2 * 10^(3-1) + 6 * 10^(2-1) + 0 * 10^(1-1)

= 1 * 1000 + 2 * 100 + 6 * 10 + 0 * 1

= 1000 + 200 + 60 + 0

6樓:匿名使用者

有一個公式:二

進位制數、八進位制數、十六進位制數的各位數字分別乖以各自的基數的(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=( )b

2|404 餘0

2|202 餘0

2|101 餘0

2|50 餘1

2|25 餘0

2|12 餘1

2|6 餘0

2|3 餘1

2|1計算結果便是:110101000

2.十進位制轉換十六進位制。。。與上面同理,注意的是10以上的數字用字母表示,除數是16

十六進位制與二進位制的轉換,建議通過十進位制來進行中轉。

帶小數點的十進位制轉換為二進位制時同理,小數店後的數位指數為負指數

一、二進位制數轉換成十進位制數

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

二、十進位制數轉換為二進位制數

十進位制數轉換為二進位制數時,由於整數和小數的轉換方法不同,所以先將十進位制數的整數部分和小數部分分別轉換後,再加以合併。

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

十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:用2去除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為零時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

2.十進位制小數轉換為二進位制小數

十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為二進位制小數的高位有效位,後取的整數作為低位有效位。

回答者:hackerkinsn - 試用期 一級 2-24 13:31

1.二進位制與十進位制的轉換

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

方法:"按權求和"

例: (1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10

=(8+0+2+1+0+0.25)10

=(11.25)10

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

· 十進位制整數轉二進位制數:"除以2取餘,逆序輸出"

例: (89)10=(1011001)2

2 89

2 44 …… 1

2 22 …… 0

2 11 …… 0

2 5 …… 1

2 2 …… 1

2 1 …… 0

0 …… 1

· 十進位制小數轉二進位制數:"乘以2取整,順序輸出"

例: (0.625)10= (0.101)2

0.625

x 21.25

x 20.5x 21.0

2進位制,8進位制和16進位制是怎麼換算的啊KB,MB,是怎麼換算

2轉8,每三位進行一次轉換,如110111001010,前三位010轉成 2,接著三位001轉成1,之後111變成7,110轉成6,結果即為6712 2轉16,每四位一次,過程與8進位制一樣 你是哪所學校的?我是威海哈工大的 2進位制是逢2進1,8進位制是逢8進1,16進位制是逢16進1,1mb 1...

2進位制轉10進位制問題

1全部25 23 22 20 這個算式中,每組數中第二個樹是指數,25即2的5此方,等於3223即2的3次方,等於8 22即2的平方,等於4,20即2的0此方,等於1 所以25 23 22 20 32 8 4 1 45 因為 100000 2 32 1000 2 8 100 2 2 1 2 1 所以...

c語言編寫16進位制轉化10進位制的程式

c語言 012 十六進位制轉十進位制 如何使用c語言編寫二進位制轉換為十進位制的程式 include int main printf 二進位制為 i for i 0 i printf d b i printf n break case 2 while a 0 i for i 0 i c c 2 b ...