三進位制如何轉為十進位制,10進位制轉8進位制方法

時間 2021-05-23 03:52:06

1樓:

整數部分,一般使用長除法,用基數除待轉換數或上一步的商,求得餘數或補數,直至最後的商為零。將各次餘數從後往前排列,即為目標進位制下的整數部分。

小數部分,一般使用長乘法,用基數乘待轉換數或上一步的積,求得整數部分,將正數部分從前往後排列,即為目標進位制下的小數部分正負數需要分別處理。

比如32.12轉三進位制:

一、整數部分:

32除以3商10餘2

10除以3商3餘1

3除以3商1餘0

1除以3商0餘1

所以整數部分是1012

二、小數部分:

0.12×3=0.39整數部分拿出0

0.39×3=1.17整數部分拿出1

0.17×3=0.51整數部分拿出0

0.51×3=1.53整數部分拿出1

0.53×3=1.59整數部分拿出1

依次類推直到餘數為0或者達到要求的精度,比如到小數點後5位就為:0.01011二個結果用小數點連線即可:1012.01011

擴充套件資料

三進位制一般有兩種表示形式:

一、以0,1,2為基本字元的表示形式。例如,365在這種表示形式中的寫法是111112。

二、以-1,0,1為基本字元的表現形式。例如,365在這種表示形式中的寫法是1tttttt(以t表示-1,負號置於1之上的象形)。這種表示法也被稱作對稱三進位制或平衡三進位制。

普通三進位制和對稱三進位制的換算,將普通三進位制數中的「2」替換為1t,並進行相應的進位計算即可轉換為對稱三進位制。

對稱三進製表示整數和浮點數並不需要額外的符號位。最高非零位為1的是正數、為t的是負數。參考二進位制,對稱三進位制一個位元組6位(+/-121)。

2樓:來自馬嶺芳香襲人 的獼猴桃

每個數位的數與數級相乘,然後相加

比如三進位制數120轉化成十進位制數

0*(1)+2*(3)+1*(3*3)=15

3樓:匿名使用者

米聽說過 但估計也是和二進位制一樣 三進位制是遇3進1 除3取餘被

4樓:匿名使用者

3進位制,應該跟2進位制轉10進位制的機理一樣

10進位制轉8進位制方法

5樓:凡筱雲

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

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

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

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

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

6樓:虎說體育

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

7樓:匿名使用者

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

8樓:就當我為你伏筆

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

9樓:匿名使用者

scanf("%d", &i);

printf("%o", i);

超簡單。

10樓:

#include

#include

using namespace std;

int main()

二進位制負數補碼轉為十進位制

沙裡波特 59 原碼是 1011 1011。59 補碼是 1100 0101 二進位制 197 十進位制 59 補碼是 1100 0101 二進位制 c5 16進位制 59 補碼是 1100 0101 二進位制 305 八進位制 這是用八位補碼錶示的,最高位表示為符號位,0代表是正數,1代表負數 5...

二進位制如何轉為十進位制 浮點數c,二進位制如何轉為十進位制 浮點數 c

樓上的 好像還是不能解決浮點數的問題啊 int i 0 int j,k 0 double value 0.0 char d 100 cout 請輸入 n cin d j strlen d for i j 1 i 0 i cout 十進位制是 這段可以解決二進位制轉為十進位制 但是不能實現浮點數的運算...

十進位制數46可以轉為二進位制數的多少

hi漫海 46 十進位制 101110 二進位制 一 十進位制轉二進位制 整數部分 方法 用2輾轉相除直到結果為1,將餘數和最後的1從下向上的組合,就是我們想要的結果。例如 60 60 2 30 餘 0 30 2 15 餘 0 15 2 7 餘 1 7 2 3 餘 1 3 2 1 餘 1 所以十進位...