回覆列表
-
1 # 使用者59187213675
-
2 # 守侯的溫暖
172.16.35.2轉為十六進位制為0xAC102302。
在十六進位制中A等於十進位制的10;B等於十進位制的11;C等於十進位制的12;D等於十進位制的13;E等於十進位制的14;F等於十進位制的15;10等於十進位制的16。計算方式如下:
172 除以 16 轉換成十六進位制等於 AC;
16 除以 16 轉換成十六進位制等於 10;
35 除以 16 轉換成十六進位制等於 23;
2 除以 16 轉換成十六進位制等於 02;
轉換之後在開頭處加上"0(零)x"以表示該值為十六進位制,成為0xAC.0x10.0x23.0x02,小數點也可以省略成為0xAC102302。
二進位制與十六進位制之間的轉換
注意:這裡說的“二進位制與十六進位制之間的轉換”,僅適用於整數。
我們說,正常情況下,若想將二進位制轉換成十六進位制,首先需要將二進位制轉換成十進位制,然後再把十進位制轉換成十六進位制。反之,若想將十六進位制轉換成二進位制也是同樣道理。
舉一反三,其他進位制與二進位制之間的轉換,也同樣需要先轉換成十進位制。
但這樣做很麻煩,而且也容易出錯。
其實,對於十六進位制與二進位制之間的轉換,還有一個更簡單、更快的方法,就是將一個位元組分成兩部分,用4位二進位制表示一位十六進位制,二進位制的高4位表示十六進位制的高位,二進位制的低4位表示十六進位制的低位。
比如:將1001 0110轉換成十六進位制,具體過程如下:
二進位制的高4位(即十六進位制的高位)的計算過程如下:
二進位制的低4位(即十六進位制的低位)的計算過程如下:
所以,最終得到1001 0110的十六進位制為0x96。
再例如:計算1100 1010 0111 1011的十六進位制,具體過程如下:
採用同樣的方法,計算十六進位制的每一位,最終得到結果為0xCA7B。
現在,我們再反過來算,將十六進位制轉換成二進位制。
比如:將0x58轉換成二進位制,具體過程如下:
將十六進位制的高位轉換成二進位制的高4位:
將十六進位制的低位轉換成二進位制的低4位:
所以,最終得到0x58的二進位制為0101 1000。
再例如:將0x7E3A轉換成二進位制,具體計算過程如下:
採用同樣的方法,將十六進位制的每一位依次轉換成二進位制,最終得到的結果為:
0111 1110 0011 1010
注意:4位二進位制可以表示16位數,即,其中10用A表示,11用B表示,以此類推,12=C,13=D,14=E,15=F。
二進位制與八進位制之間的轉換
其實,二進位制與八進位制之間的轉換方法和二進位制與十六進位制之間的轉換方法是一樣的。只不過,十六進位制是用4位二進位制來表示1位十六進位制的,而八進位制則是用3位二進位制來表示1位八進位制的,因為3位二進位制剛好可以用來表示0~7這8個數字,即。
由於計算方法與“二進位制與十六進位制之間的轉換方法”是一樣的,所以這裡就不再贅述了。這裡就只簡單地展示一下計算過程:
其中025是八進位制數。