八進位制十進位制怎麼轉換,10進位制轉8進位制方法

2021-05-05 16:02:14 字數 5299 閱讀 6952

1樓:手機使用者

給你個演算法:

十進位制轉二進位制(整數及小數部分):

1、把該十進位制數,用二因式分解,取餘。

以235為例,轉為二進位制

235除以2得117,餘1

117除以2得58,餘1

58除以2得29,餘0

29除以2得14,餘1

14除以2得7,餘0

7除以2得3,餘1

3除以2得1,餘1

從得到的1開始寫起,餘數倒排,加在它後面,就可得11101011。

2、把十進位制中的小數部份,轉為二進位制。

把該小數不斷乘2,取整,直至沒有小數為止,注意不是所有小數都能轉為二進位制!

以0.75為例,

0.75剩以2得1.50,取整數1

0.50剩以2得1,取整數1,順序取數就可得0.11。

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、十進位制數轉二進位制數、八進位制數、十六進位制數

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

例:見四級指導16頁。

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 第四位

最後得八進位制數:12765

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

如:76521轉為十六進位制

16|76521

4782 ――9 第一位(個位)

298 ――14 即 e 第二位

18 ――10 即 a 第三位

1 ―― 2 第四位

最後得12ae9

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

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,即是二進位制的值。

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

2樓:戎宸在密思

給定一個數,除以8,得商和餘數,餘數記下;繼續除以8,又得商和餘數,記下餘數.......知道商為0為止,這樣,所有步驟中得到的餘數從下往上排列即為轉換後的數。10進位制數轉換成2進位制就除以2,一個道理。

3樓:仙墨徹奇冬

一個八進位制數如024從最右面開始:四乘以八的零次方加二乘以八的一次方等於二十,這個數的十進位制數是二十,如果更長就用這樣的方法依次計算

10進位制轉8進位制方法

4樓:凡筱雲

十進位制轉換成八進位制的方法如下:

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

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

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

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

5樓:虎說體育

1、先來看八進位制如何轉換成十進位制。其方法與二進位制轉換成十進位制差不多:按權相加法,即將八進位制每位上的數乘以位權(如8,64,512….

),然後將得出來的數再加在一起。如將72.45轉換為十進位制。

如圖1所示:

2、 整數部分,除8取餘法,每次將整數部分除以8,餘數為該位權上的數,商繼續除以8,餘數又為上一個位權上的數,然後以此類推一直下去,直到商為零,最後從最後一個餘數向前排列就可以了,如圖2所示:

3、再看小數部分,與轉二進位制相同,這裡是乘八取整法,也就是說小數部分乘以8,然後取整數部分,再讓剩下的小數部分再乘以8,再取整數部分,……以此類推,一直乘到小數部分為零為止。例如0.703125,如圖3所示:

4、小數部分乘以8,如圖4所示,根據位數要求進行「3舍4入」。

5、這個是直接的方法,還有一個間接的方法捏?就是先把十進位制轉換為二進位制,然後再由二進位制轉換為8進位制,例如將十進位制478.0245轉為八進位制。

先轉為二進位制為:(478.125)10=(111011110.

001)2 二進位制再轉為八進位制為:(111011110.001)2=(736.

1)8咱們用圖來解釋一下,如圖5所示為轉換為二進位制的介紹:

6、然後再將二進位制轉換為八進位制,還是再溫習一下二進位制數與八進位制數的對照表吧,如圖6所示:

7、對照圖表將二進位制轉換為八進位制後的結果如圖7所示:

6樓:匿名使用者

10進位制

10進位制計數制由 0、 1、 2、 3、 4、 5、 6、 7、 8、 9共 10個數字符號組成,每個數位計滿10就向高位進一,即 「逢十進一 」。

2. 8進位制

8進位制計數制由 0、 1、 2、 3、 4、 5、 6、 7共 8個數字符號組成,每個數位計滿8就向高位進一,即 「逢八進一 」。

3、 八進位制轉換為十進位制

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

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

3*64+2*8+1*1+7*1/8=192+16+1+7/8=209.875d

拓展資料

十進位制轉換為八進位制

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

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

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

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

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

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

先將這個數字分為整數部分796和小數部分0.703125  整數部分   小數部分   因此,得到結果十進位制796.703125轉換八進位制為1434.

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

7樓:就當我為你伏筆

怎麼將8進位制的數轉換為10進位制

8樓:匿名使用者

scanf("%d", &i);

printf("%o", i);

超簡單。

9樓:

#include

#include

using namespace std;

int main()

八進位制如何轉換成十進位制

10樓:清溪看世界

把八進位制數按權、相加即可得十進位制數,也就是讓八進位制各位上的係數乘以對應的權,然後求其和,如下:

156.48 = 1×8^2 + 5×8^1 + 6×8^0 + 4×8^-1 = 110.5

整數:156 = 1×8^2 + 5×8^1 + 6×8^0小數:0.4 = 4×8^-1

11樓:匿名使用者

教你一個很簡單的方法 從八進位制的個位開始 分別乘於8的0次方(就是1),8的1次方,8的2次方。。。再相加就是十進位制的值了 比如八進位制11 轉成十進位制就是8+1=9 或者你就直接用計算器

二進位制轉換十進位制,八進位制,十六進位制

在數制中,還有一個規則,這就是,n進位制必須是逢n進一。對於多位數,處在某一位上的 l 所表示的數值的大小,稱為該位的位權。例如十進位制第2位的位權為10,第3位的位權為100 而二進位制第2位的位權為2,第3位的位權為4,對於 n進位制數,整數部分第 i位的位權為ni 1,而小數部分第j位的位權為...

數制轉換 84十進位制轉換成二進位制八進位制以及8421BCD

32轉八 32 8 i 4 0 那麼第一個是 bai4秒的小數位是0 轉八進位制方法 du 二進位制1010100 八進位制124 8421bcd換成十進位制138550221 include include void main b 100 c 100 for int i 1,m n m 0 i a...

c程式設計題輸入十進位制數以八進位制和十六進位制輸出

1.include using namespace std void main int x cout please input a number cin x cout 轉化成八bai 進位制du using namespace std void main char x cout please inp...