10進位制轉8進位制方法,十進位制如何轉換成八進位制?

2021-05-29 21:43:59 字數 5386 閱讀 1758

1樓:凡筱雲

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

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

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

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

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

2樓:虎說體育

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所示:

3樓:匿名使用者

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

4樓:就當我為你伏筆

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

5樓:匿名使用者

scanf("%d", &i);

printf("%o", i);

超簡單。

6樓:

#include

#include

using namespace std;

int main()

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

7樓:你愛我媽呀

方法1:採用除8取餘法。

例:將十進位制數115轉化為八進位制數

8| 115…… 3

8| 14 …… 6

8| 1 …… 1

結果:(115)10 = (163)8

方法2:先採用十進位制化二進位制的方法,再將二進位制數化為八進位制數例:(115)10 = (1110011)2 = (163)8

8樓:滑茗緒惜兒

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

9樓:匿名使用者

這是個好問題,不過我也不知道懂

10進位制數怎麼轉8進位制?

10樓:東哥shuo育兒

採用除8取餘法。

1、10進位制

十進位制數是組成以10為基礎的數字系統,有0,1,2,3, 4, 5, 6, 7, 8, 9十個基本數字組成。

2、八進位制

一種以8為基數的計數法,採用0,1,2,3,4,5,6,7八個數字,逢八進1。一些程式語言中常常以數字0開始表明該數字是八進位制。八進位制的數和二進位制數可以按位對應(八進位制一位對應二進位制三位),因此常應用在計算機語言中。

11樓:

假設十進位制數為1000,則八進位制數位1750,過程如下:

1000/8=125,餘數為0;

125/8=15,餘數為5;

15/8=1,餘數為7;

1/8=0,餘數為1;

你從下往上看這些餘數,順序寫出,就是答案1750,要注意的是最後一定要除到0為止,也就是最後一步1/8=0,一定要除到0.

再示範一個數,比如十進位制的534,八進位制為1026,過程為:

534/8=66,餘數為6;

66/8=8,餘數為2;

8/8=1,餘數為0;

1/8=0,餘數為1;

仍然是從下往上看這些餘數,順序寫出,答案為1026

你可以自己歸納一下,大進位制數轉小進位制數都可以用這個方法,比如十六進位制轉10進位制,如果你不知道答案,可以用windows自帶的計算器來驗證,要用科學型的(在計算器——檢視——科學型)

如果是八進位制轉十進位制的,可以用下述方法:

還是上面的例子1026八進位制轉十進位制

1*8^3+0*8^2+2*8^1+6*8^0=534 (8^3指的是8的立方)

上式各項的意義:1*8^3中的1是1026的千位;八進位制時,第二個數為8;3是指4-1,這個4是指1026是4位數。

0*8^2意義同上。0是1026的百位;八進位制時,第二個數為8;2是指4-2(8後面的指數是遞減的形式)。

一直寫到8^0一項即可。

所以求anan-1……a1八進位制的n位數轉十進位制時(比如八進位制的1026,對應的a4=1,a3=0,a2=2,a1=6),總結出公式為:

an*8^n+an-1*8^(n-1)+an-2*8^(n-2)+……+a1*8^0=對應的十進位制數

所以小進位制數轉大進位制數都可以用這個方法。

最後說一下,你的十進位制的10轉為八進位制的數,應當是12,而不是12.625.

10進位制換成8進位制和8進換成10進位制怎麼換

12樓:吾獨輕狂

1、八進位制轉十進位制

類似於二進位制轉十進位制:按權相加法,八進位制每位數乘以位權(即 8 64 512 4096 等),把乘出來的數加一起,如圖示:

2、十進位制轉八進位制

(1)整數部分

除8取餘數,以此類推,直到商為零,最後將餘數由後往前排列即可。

(2)小數部分

乘8取整數,一直乘到小數部分為零為止(如果一直乘不到零,就按位數要求進行「3舍4入")。

13樓:匿名使用者

1、8進位制換成10進位制

其方法與二進位制轉換成十進位制差不多:按權相加法,即將八進位制每位上的數乘以位權,然後將得出來的數再加在一起。

例如將八進位制213轉換成十進位制是139:

2、10進位制換成8進位制

方法一:採用除8取餘法

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

例如將10進位制136轉換成8進位制是210:

方法二:先採用十進位制化二進位制的方法,再將二進位制數化為八進位制數

例如將10進位制136轉換成8進位制,先將10進位制136轉換成2進位制是10001000,採用"除2取餘,逆序排列"法:

再講2進位制10001000轉換成8進位制:整數部份從最低有效位開始,以3位一組,最高有效位不足3位時以0補齊,每一組均可轉換成一個八進位制的值,轉換完畢就是八進位制的整數。

則2進位制10001000轉換成8進位制是210。

擴充套件資料

進位制也就是進位計數制,是人為定義的帶進位的計數方法(有不帶進位的計數方法,比如原始的結繩計數法,唱票時常用的「正」字計數法,以及類似的tally mark計數)。

對於任何一種進位制---x進位制,就表示每一位置上的數運算時都是逢x進一位。 十進位制是逢十進一,十六進位制是逢十六進一,二進位制就是逢二進一,以此類推,x進位制就是逢x進位。

十進位制人類天然選擇了十進位制。

由於人類解剖學的特點,雙手共有十根手指,故在人類自發採用的進位制中,十進位制是使用最為普遍的一種。成語「屈指可數」某種意義上來說描述了一個簡單計數的場景,而原始人類在需要計數的時候,首先想到的就是利用天然的算籌——手指來進行計數。

十進位制編碼幾乎就是數值本身。

數值本身是一個數學上的抽象概念。經過長期的演化、融合、選擇、淘汰,系統簡便、功能全面的十進位制計數法成為人類文化中主流的計數方法,經過基礎教育的訓練,大多數的人從小就掌握了十進位制計數方法。

盤中放了十個蘋果,通過數蘋果我們抽象出來「十」這一數值,它在我們的腦海中就以「10」這一十進位制編碼的形式存放和顯示,而不是其它的形式。從這一角度來說,十進位制編碼幾乎就是數值本身。

十進位制的基數為10,數碼由0-9組成,計數規律逢十進一。

二進位制轉十進位制演算法,二進位制轉十進位制演算法 01100000 00101100 01011000 11001010要具體演算法過程 文字解釋不給

從左往右算,左邊一位乘以2加上後一位,依次算下去 01100000 0 2 0 0 2 1 0 2 2 0 2 3 0 2 4 1 2 5 1 2 6 0 2 7 96 00101100 0 2 0 0 2 1 1 2 2 1 2 3 0 2 4 1 2 5 0 2 6 0 2 7 44 01011...

c語言十進位制轉二進位制,C語言十進位制轉二進位制

十進位制轉二進位制可以使用庫函式itoa。itoa函式原型 char itoa int value,char string,int radix 功能 將任意型別的數字轉換為字串。在中與之有相反功能的函式是atoi。nt value 被轉換的整數,char string 轉換後儲存的字元陣列,int ...

十六進位制小數轉換為十進位制怎麼轉十進位制小數怎樣轉換為十六進位制?

十六進位制6a.3b轉十bai進位制 先寫十du六進位制各位上的基數 從個 zhi位1.開始,向左 dao寫,每位是右邊版位乘以權16,6a有兩位,則就寫兩位,從小數點向右邊寫,可以直接寫分數,每位是左邊位除以16,3b是兩位,則寫到兩位為止 16 1.1 16 1 256 6 a.3 b 將要轉換...