一文看懂二進位制 八進位制 十進位制 十六進製制之間的轉換

2021-10-06 04:24:52 字數 2864 閱讀 2799

簡單總結下常用進製之間的轉換,再也不用擔心忘記進製之間的轉換了

我們需要了解乙個數學關係,即2^3=8,2^4=16,而八進位制和十六進製制是用這關係衍生而來的,即用三位二進位制表示一位八進位制,用四位二進位制表示一位十六進製制數。接著,記住4個數字8、4、2、1(2^3=8、2^2=4、2^1=2、2^0=1)。

包含小數的進製換算:

(abc.8c)h=10x16^2+11x16^1+12x16^0+8x16^-1+12x16^-2

=2560+176+12+0.5+0.046875

=(2748.546875)d

負次冪的計算

同底數冪相除,底數不變,指數相減,反過來

2^-5=2^(0-5)=2^0/2^5=1/2^5

二進位制與八進位制之間的關係是每個八進位制位對應三個二進位制位,即乙個八進位制的數,是由3位二進位制構成

二進位制與八進位制編碼對應表:

八進位制二進位制

0000

1001

2010

3011

4100

5101

6110

7111

二進位制與十六進製制之間的關係是每個十六進製制位對應四個二進位制位,即乙個十六進製制的數,是由4位二進位制位構成

二進位制與十六進製制編碼對應表:

十六進製制

二進位制0

0000

10001

20010

30011

40100

50101

60110

70111

81000

91001

10/a

1010

11/b

1011

12/c

1100

13/d

1101

14/e

1110

15/f

1111

以二進位制或者十進位制為媒介進行轉換

十進位制轉換為二進位制

十進位制轉換為二進位制,需要分成整數和小數兩個部分分別轉換。當轉換整數時,用的除2取餘法;而轉換小數時候,用的是乘2取整法

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

小數部分規則:乘2取整法,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分

為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,捨掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數

// 將0.125換算為二進位制結果為0.001 

分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25;

第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5;

第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0;

第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。

二進位制轉換為十進位制

不分整數和小數部分

二進位制數小數點前從低位到高位(即從右往左)計算,權值依次是2^0,2^1,2^2,2^3...;小數點後面的權值依次是2^(-1), 2^(-2),2^(-3)...把最後的結果相加的值就是十進位制的值了。例如:

// 10101.01轉換成十進位制數,結果是21.25

1x2^4+0x2^3+1x2^2+0x2^1+1x2^0+0x2^(-1)+1x2^(-2)=14+6+1+0.25=21.25

也可以先將十進位制轉換成二進位制,然後將二進位制又轉換成八進位制

十進位制轉換為八進位制,需要分成整數和小數兩個部分分別轉換。當轉換整數時,用的除8取餘法;而轉換小數時候,用的是乘8取整法 。

八進位制就是逢8進1,八進位制數採用 0~7這八數來表達乙個數。

不分整數和小數部分

八進位制數小數點前從低位到高位(即從右往左)計算,權值依次是8^0,8^1,8^2,8^3...;小數點後面的權值依次是8^(-1), 8^(-2),8^(-3)...把最後的結果相加的值就是十進位制的值了。例如

// 八進位制1434.55轉換為十進位制

1x8^3+4x8^2+3x8^1+4x8^0+5x8^(-1)+5x8^(-2)=512+256+24+4+0.625+0.078125=796.703125

十六進製制就是逢16進1,十六進製制的16個數為0123456789abcdef

十六進製制與八進位制有很多相似之處,可以參照上面八進位制與十進位制的轉換自己試試這兩個進製之間的轉換。

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

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

二進位制 八進位制 八進位制 十進位制 十六進製制的介紹

數字在計算機中表現的方式常見的有四種 十進位制 二進位制 八進位制 十六進製制 1.十進位制 1 基數 0,1,2,3,4,5,6,7,8,9 2 進製 逢10進1 3 位權 10的n次方 n從低位到高位從0開始一次增加 1231 110 3 210 2 310 1 110 0 4 程式中的表示方式...

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

進製 位置計數法是一種記數方式,故亦稱進製記數法 位值計數法,可以用有限的數字符號代表所有的數值。可使用數字符號的數目稱為基數 en radix 或底數,基數為n,即可稱n進製,簡稱n進製。現在最常用的是十進位制,通常使用10個阿拉伯數字0 9進行記數。對於任何乙個數,我們可以用不同的進製來表示。比...