八進位制怎麼算

2021-05-28 01:07:06 字數 3618 閱讀 2330

1樓:life布可

一、八進位制轉換二進位制

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

例:將八進位制的(327)o轉換為二進位制的步驟如下:

1. 3 = 011;

2. 2 = 010;

3. 7 = 111;

4. 讀數,讀數從高位到低位,011010111,即(327)o=(11010111)b。

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

方法:將八進位制轉換為二進位制,然後再將二進位制轉換為十六進位制,小數點位置不變。

例:將八進位制的(327)o轉換為十六進位制的步驟如下:

1. 3 = 011;

2. 2 = 010;

3. 7 = 111;

4. 0111 = 7;

5. 1101 = d;

6. 讀數,讀數從高位到低位,d7,即(327)o=(d7)h。

2樓:阿蛋不吃肉

1、八進位制

化為十進位制:

2、八進位制化為二進位制:

規則:按照順序,每1位八進位制數改寫成等值的3位二進位制數,次序不變。

例: (17.36)8 = (001 111 .011 110)2 = (1111.01111)2

3、八進位制化為十六進位制

先將八進位制化為二進位制,再將二進位制化為十六進位制。

例:(712)8 = (1110 0101 0)2 = (1ca)16

4、二進位制化為八進位制:

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

例:(11001111.01111)2 = (011 001 111.011 110)2 = (317.36)8

5、十六進位制化為八進位制:

先用1化4方法,將十六進位制化為二進位制;再用3並1方法,將二進位制化為8制。

例: (1ca)16 = (111001010)2 = (712)8

說明:小數點前的高位零和小數點後的低位零可以去除。

6、十進位制化八進位制:採用除8取餘法。

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

8| 115…… 3

8| 14 …… 6

8| 1 …… 1

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

3樓:year好好學習

一種計數法,採用0,1,2,3,4,5,6,7八個數碼,逢八進位,並且開頭一定要以數字0開頭。八進位制的數較二進位制的數書寫方便,常應用在電子計算機的計算中。

例如:10進位制的32表示成8進位制就是:4010進位制的9,27在八進位制中分別記位11,33.

8進位制的32表示成10進位制就是:3×8^1+2×8^0=26

4樓:匿名使用者

octal number system

一種計數法,採用0,1,2,3,4,5,6,7八個數碼,逢八進位,並且開頭一定要以數字0開頭。八進位制的數較二進位制的數書寫方便,常應用在電子計算機的計算中。

例如:10進位制的32表示成8進位制就是:4010進位制的9,27在八進位制中分別記位11,33.

8進位制的32表示成10進位制就是:3×8^1+2×8^0=26

5樓:自我程式設計

輸入一個十進位制數 輸出8進位制

#include

#include

int tosnumber(int a);

void main()

int tosnumber(int a)

else if(a/num0) //得到最高位 和次高位}return snum;}

6樓:匿名使用者

8進位制是什麼,30秒帶你認識下

7樓:匿名使用者

八進位制數的表達方法

c,c++語言中,如何表達一個八進位制數呢?如果這個數是 876,我們可以斷定它不是八進位制數,因為八進位制數中不可能出7以上的阿拉伯數字。但如果這個數是123、是567,或12345670,那麼它是八進位制數還是10進位制數,都有可能。

所以,c,c++規定,一個數如果要指明它採用八進位制,必須在它前面加上一個0,如:123是十進位制,但0123則表示採用八進位制。這就是八進位制數在c、c++中的表達方法。

由於c和c++都沒有提供二進位制數的表達方法,所以,這裡所學的八進位制是我們學習的,ctc++語言的數值表達的第二種進製法。

現在,對於同樣一個數,比如是100,我們在**中可以用平常的10進製表達,例如在變數初始化時:

int a = 100;

我們也可以這樣寫:

int a = 0144; //0144是八進位制的100;一個10進位制數如何轉成8進位制,我們後面會學到。

千萬記住,用八進位制表達時,你不能少了最前的那個0。否則計算機會通通當成10進位制。不過,有一個地方使用八進位制數時,卻不能使用加0,那就是我們前面學的用於表達字元的「轉義符」表達法。

6.2.4 八進位制數在轉義符中的使用

我們學過用一個轉義符'\'加上一個特殊字母來表示某個字元的方法,如:'\n'表示換行(line),而'\t'表示tab字元,'\''則表示單引號。今天我們又學習了一種使用轉義符的方法:

轉義符'\'後面接一個八進位制數,用於表示ascii碼等於該值的字元。

比如,查一下第5章中的ascii碼錶,我們找到問號字元(?)的ascii值是63,那麼我們可以把它轉換為八進值:77,然後用 '\77'來表示'?

'。由於是八進位制,所以本應寫成 '\077',但因為c,c++規定不允許使用斜槓加10進位制數來表示字元,所以這裡的0可以不寫。

事實上我們很少在實際程式設計中非要用轉義符加八進位制數來表示一個字元,所以,6.2.4小節的內容,大家僅僅瞭解就行。

8樓:匿名使用者

逢7進1,

像十進位制一樣

一個數的十進位制怎樣算?八進位制又是怎麼算?

9樓:雷霆狙擊

二進位制,八進位制,十進位制都是計算機演算法,

我們現在用的數學就是十進位制的,逢10必進

而八進位制採用0,1,2,3,4,5,6,7八個數字,逢八進位

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

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

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

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

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

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

解:先將這個數字分為整數部分796和小數部分0.703125 整數部分 小數部分

因此,得到結果十進位制796.703125轉換八進位制為1434.55

八進位制到底用Q還是O表示八進位制到底用Q還是O表示啊???怎麼書上寫的都不一樣啊。。。。。。

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

求二進位制八進位制十進位制16進位制之間的詳細轉換關係

16進位制 0 1 2 3 4 5 6 7 8 9 a b c d e f 10進位制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 這是16進位制轉化10進位制的 我來幾個例子吧 27 10進位制 27 16 1餘11,則用16進位制可表示為1b,即餘數用 表示。再說...

二進位制八進位制十進位制十六進位制的英文名稱分別是什麼

二進位制 binary system 八進位制 octal number system十進位制 decimal system 十六進位制 hexadecimal c語言中的可以直接轉,輸出用 d,o,x分別表示十進位制,八進位制,十六進位制,二進位制比較麻煩,你需要使用其他進位制轉成二進位制再輸出 ...