進制轉換
通過上期所了解的進制,大家應該知道,在計算機中一個數值可以用不同的進制形式來表示,但實際上,不管是哪種進制形式來表示,數值本身是不會發生變化的。因此,各種進制之間可以輕松地實現轉換,下面就以前面提到的十進制、二進制、八進制、十六進制為例來講解進制如何實現轉換。
十進制與二進制之間的轉換
十進制與二進制之間的轉換是最常見也是必須掌握的一種進制轉換方式,下列針對十進制轉二進制和二進制轉十進制的方式分別進行講解。
十進制轉二進制
十進制轉換成二進制可以采用除 2 取余的方式。也就是說將要轉換的數,先除以 2 ,得到商和余數,將商繼續除以 2 ,獲得商和余數,此過程一直重復直到商為 0 。最后將所有得到的余數倒序排列,即可得到轉換結果。接下來就以十進制的 6 轉換為二進制為例進行說明。
其演算過程如下圖所示:
十進制轉二進制從圖




由上圖可以看出,十進制的 6 連續三次除以 2 后,得到的余數依次是:0、1、1。將所有余數倒序排列后為 110,因此,十進制的 6 轉換成二進制后的結果是 110。
二進制轉十進制
二進制轉化成十進制要從右到左用二進制位上的每個數去乘以 2 的相應次方,例如,將最右邊第一位的數乘以 2 的 0 次方,第二位的數乘以 2 的 1 次方,第 n 位的數乘以 2 的 n – 1 次方,然后把所有乘的結果相加,得到的結果就是轉換后的十進制。
例如,把一個二進制數 0110 0100 轉換為 10 進制,轉換方式如下:


由于 0乘以多少都是 0,所以上述表達式也可以簡寫為:


得到的結果 100就是二進制數 0110 0100轉化后的十進制表現形式。
八進制與二進制之間的轉換
八進制與二進制之間的轉換比較常見的操作就是將一個二進制數轉為八進制。在轉換的過程中有一個技巧,就是將二進制數自右向左每三位分成一段(若不足三位,用 0補齊),然后將二進制每段的三位轉為八進制的一位,轉換過程中數值的對應關系如下表所示。
二進制和八進制數值對應表


接下來,就以將二進制數 00101010為例來演示如何轉為八進制。
具體演算過程如下:
(1) 每三位分成一段,結果為:000 101 010
(2)將每段的數值分別查表替換,結果如下:
010 → 2
101 → 5
000 → 0
(3)將替換的結果組合,得到的八進制為 0052(注意八進制必須以 0開頭)。
十六進制與二進制之間的轉換
將二進制轉十六進制時,與轉八進制類似,不同的是要將二進制數每四位分成一段(若不足 4 位用 0 補齊),查表轉換即可。二進制轉十六進制過程中數值的對應關系如下表所示。
二進制和十六進制數值對應表


接下來,二進制數 0 1 0 1 0 1 1 0 轉為十六進制。
具體步驟如下:
(1)每四位分成一段,結果為:0101 0110
(2)將每段的數值分別查表替換,結果如下:
0110 → 6
0101 → 5
(3)將替換的結果進行組合,轉換的結果為:0x56或 0X56(注意:十六進制必須以 0x或者 0X開頭)。
上述講解了二進制與其他進制的轉換,除二進制外,其他進制之間的轉換也很簡單,只需將它們轉換成二進制數,然后將二進制轉為其他進制即可。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。