進制之間的轉換


二進制

計算機的信息都是以二進制數存儲的。計算機內部一律采用二進制的原因:

  1. 電壓只有兩個狀態:高和低;用數字表示就是 1 和 0。
  2. 二進制的邏輯運算簡單。邏輯只有 “0” 和 “1”,即真和假。
  3. 二進制的運算法則簡單。

數制有六十進制、十六進制、十進制、八進制、二進制等。平常用得最多的是十進制,計算機內部使用的是二進制,編程還要用到八進制和十六進制。

基數與位權

基數就是進制中能表示數字的符號的個數。十進制有 0~9 共是個數字符號,所以基數是 10。二進制的基數是 2。某種進制允許使用的數字符號有多少個,其基數就是多少。

位權就是以基數為底,以數字所在的序號為指數的整數冪。十進制 12 的基數是 10,從右到左(個位到十位)的數字符號的序號依次是 0 和 1。那么,數字符號 2 的位權是 100;數字 1 的位權是 101

十進制 12 又可以這樣表示:1×101+2×100=12。

二進制 1.1:

\[1.1=0×2^1+1×2^0+1×2^-1 \]

十進制 886.88:

\[886.88=8×10^2+8×10^1+6×10^0+8×10^-1+8×10^-2 \]

R進制轉為十進制

R 進制轉換為十進制要按位權展開求和。

(1)二進制數 1001 轉換為十進制數

\[1001=1×2^3+0×2^2+0×2^1+1×2^0=9 \]

(2)八進制數 35 轉換為十進制數

\[35=3×8^1+5×8^0=29 \]

(3)十六進制數 32CF 轉換為十進制數

\[32CF=3×16^3+2×16^2+12×16^1+15×16^0=13007 \]

十進制轉為R進制

整數轉換

十進制整數化為 R 進制數:除 R 取余。

(1)把 237.8125 轉換為二進制數。

從低往上依次填寫的余數就是二進制的整數部分得到 11101101。

(2)把 58506.8125 轉換為八進制數。

從低往上依次填寫的余數就是八進制的整數部分得到 162212。

小數轉換

十進制純小數化為 R 進制數:乘 R 取整法,得 R 進制純小數。

(1)把 0.8125 轉換為二進制數。

\(0.8125×2=1.625\) …… 整數部分為 1

\(0.625×2=1.25\) …… 整數部分為 1

\(0.25×2=0.5\) …… 整數部分為 0

\(0.5×2=1\) …… 整數部分為 1

從高往下依次填寫的整數就是二進制的小數部分得到 0.1101。

(2)把 0.8125 轉換為八進制數。

從高往下依次填寫的整數就是二進制的小數部分得到 0.64。

二進制轉八進制

二進制的基數是 2,八進制的基數是 8,由於 8 是 2 的整數次冪,即\(8=2^3\),所以一位八進制數正好相當於3位二進制數。以小數點為界限,分別向左、向右每3位一組划分,最后剩下的位數不夠3位時用0補齊,再進行轉換。

將二進制數 111111011.0100001 轉換為八進制數,首先以小數點為界限,以3位數為一組進行划分:

整數部分001原本是1,由於是最后剩下的,所以用0補齊;小數部分100原本也是1,且也是最后剩下的,所以用0補齊。

將每組對於的八進制數寫出來:

所以最后的結果是:1111111011.0100001=1773.204。

八進制轉二進制

八進制轉換為二進制就非常的簡單了,只需要把八進制的每一位數字轉換成3位二進制數即可,注意,如果二進制只有兩位或者兩位以下時,用0補齊這組數的最前面即可

將八進制數 72.531 轉換為二進制數:

所以最后的結果是:\(72.531=111010.101011001\)

二進制轉十六進制

二進制的基數是 2,十六進制的基數是 16,由於 16 是 2 的整數次冪,即\(16=2^4\),所以一位十六進制數正好相當於4位二進制數。以小數點為界限,分別向左、向右每4位一組划分,最后剩下的位數不夠4位時用0補齊,再進行轉換。

將 111101010011.10111 轉換為十六進制數,首先以小數點為界限,以4位數為一組划分,再依次對其進行轉換:

所以,最終結果為\(111101010011.10111=F53.B8\)

十六進制轉二進制

十六進制轉換為二進制,直接將十六進制的每一位數字對應的二進制數寫出來即可:

所以,最終結果為\(F53.B8=111101010011.10111\)

八進制與十六進制互轉

八進制與十六進制之間的轉換,最簡單的方法就是借助於二進制來實現,先將八進制轉換為二進制,然后二進制再轉換為十六進制。同樣的,十六進制轉換為八進制也是借助於二進制實現。

進制對照表

二進制 八進制 十進制 十六進制
0 0 0 0
1 1 1 1
10 2 2 2
11 3 3 3
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM