八進位制轉二進位制

2021-04-28 13:56:12 字數 3678 閱讀 5831

位(bit)  一位二進位制數,又稱位元

位元組(byte)  1b = 8b  記憶體儲存的最小單元

字長:同一時間內,計算機能處理的二進位制位數

字長決定了計算機的運算精度,字長越長,計算機的運算精度就越高。因此,高效能的計算機,其字長較長,

而效能較差的計算機,其字長相對要短一些。    

其次,字長決定了指令直接定址的能力。一般機器的字長都是位元組的1、2、4、8倍。微機的字長為8位、16位

、32位、64位,如286機為16位機,386和486是32位機,最新推出的piii為64位高檔機。   

字長也影響機器的運算速度,字長越長,運算速度越快。 

字:是計算機中處理資料或資訊的基本單位。乙個字由若干位元組組成,通常將組成乙個字的位數叫做該字的字

長。進製

一位八進位制數字可以用三位二進數來表示,一位十六進製制數可以用四位二進數來表示,所以二進位制和八進位制、

十六進製制間的轉換非常簡單 (001/010/011/100/101/110/111)(0001/0010/0011/0100/0101/0110/0111/1000

/1001/1010a/1011b/1100c/1101d/1110e/1111f)

如:將(1010111.01101)2轉換成八進位制數

1010111.01101=001 010 111. 011 010

1  2    7     3    2

所以(1010111.011.1)2=(127.32)8

將(327.5)8轉換為二進位制

3       2      7.     5

011    010   111.   101

所以(327.5)8=(11010111.101)2

將(110111101.011101)2轉換為十六進製制數

(110111101.011101)2=0001   1011   1101.   0111   0100

1   b       d        7      4

所以(110111101.011101)2=(1bd.74)16

將(27.fc)16轉換成二進位制數

2       7.     f        c    

0010  0111  1111   1100

所以(27.fc)16=(100111.111111)2

二進位制表示

原碼:每一位表示符號

反碼:正數同原碼,負數除符號外其它位相反

補碼:正數同原碼,負數除符號外,反碼+1得到

樣,8位位址匯流排最大能區分的位址是從0到255。我們說他的定址能力為256, 即256位元組

20位: 1m

32位: 4g

制數的結果,而是要再加上1,因為前面有個00000000000000000    

即2的16次方, 而16個1組成的二進位制數為2的16次方減1

其他:十進位制轉二進位制: 

用2輾轉相除至結果為1 

將餘數和最後的1從下向上倒序寫 就是結果 

例如302 

302/2 = 151 餘0 

151/2 = 75 餘1 

75/2 = 37 餘1 

37/2 = 18 餘1 

18/2 = 9 餘0 

9/2 = 4 餘1 

4/2 = 2 餘0 

2/2 = 1 餘0 

故二進位制為100101110 

二進位制轉十進位制 

從最後一位開始算,依次列為第0、1、2...位 

第n位的數(0或1)乘以2的n次方 

得到的結果相加就是答案 

例如:01101011.轉十進位制: 

第0位:1乘2的0次方=1 

1乘2的1次方=2 

0乘2的2次方=0 

1乘2的3次方=8 

0乘2的4次方=0 

1乘2的5次方=32 

1乘2的6次方=64 

0乘2的7次方=0 

然後:1+2+0 

+8+0+32+64+0=107. 

二進位制01101011=十進位制107. 

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

由二進位制數轉換成十進位制數的基本做法是,把二進位制數首先寫成加權係數展開式,然後按十進位制加法規則求和

。這種做法稱為"按權相加"法。 

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

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

轉換後,再加以合併。 

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

十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:用2去除十進位制整數,可以得到乙個

商和餘數;再用2去除商,又會得到乙個商和餘數,如此進行,直到商為零時為止,然後把先得到的餘數作為

二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。 

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

十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,可以得到積,將

積的整數部分取出,再用2乘餘下的小數部分,又得到乙個積,再將積的整數部分取出,如此進行,直到積中

的小數部分為零,或者達到所要求的精度為止。 

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

位。 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 2 

1.25 

x 2 

0.5 

x 2 

1.0 

2.八進位制與二進位制的轉換 

例:將八進位制的37.416轉換成二進位制數: 

37 . 4 1 6 

011 111 .100 001 110 

即:(37.416)8 =(11111.10000111)2 

例:將二進位制的10110.0011 轉換成八進位制: 

0 1 0 1 1 0 . 0 0 1 1 0 0 

2 6 . 1 4 

即:(10110.011)2 =(26.14)8 

3.十六進製制與二進位制的轉換

例:將十六進製制數5df.9 轉換成二進位制: 

5 d f . 9 

0101 1101 1111.1001 

即:(5df.9)16 =(10111011111.1001)2 

例:將二進位制數1100001.111 轉換成十六進製制: 

0110 0001 . 1110 

6 1 . e 

即:(1100001.111)2 =(61.e)16

十進位制轉二進位制八進位制16進製制

主函式,同樣和c中的主函式類似 public static void main string args string hexchar 輸入 類似與c scanner scanner new scanner system.in 待轉換的數 類似與c 的輸入函式 scanf d num int num ...

十進位制,二進位制,八進位制

發現很多人不懂十進位制 二進位制 八進位制等相互轉化的原理。在此我簡單的寫一下 php中有decbin 用於十進位制轉化二進位制,原理是什麼?我舉例說明一下 33的二進位制是多少?首先你必須明白。二進位制是只出現0101這樣的,33的二進位制是什麼呢?33除以2等於16餘數1,得到的1即為33二進位...

二進位制 八進位制 十六進製制

生活中我們普遍用十進位制,逢十進一。同理,二進位制八進位制和十六進製制是逢二進 一 逢八進 一 逢十六進一。十進位制是便於人理解而二進位制是便於電腦理解。二進位制在計算機內部使用是再自然不過的。但在人機交流上,二進位制有致命的弱點 數字的書寫特別冗長。二進位制和八進位制 二進位制和十六進製制之間的換...