二進制和十六進制對于程序員來說應該是很熟悉的東西了,我也不知道為什麼我現在還在看這個呢?^_^
什麼是二進制?什麼是十六進制?
說到進制我們最熟悉的莫過于十進制了,我們從小學的數學都是用的十進制。所謂十進制就是逢十進一,從0開始數 0、1、2、3、.....7、8、9,十個數了再下一個數就要進一位變成10(變成了兩位數)。二進制就是逢二進一,0、1再下一個數就要進一位了變成10(變成兩位數),十六進制數的道理也是一樣的,從0開始數,0、1、2、.....7、8、9發現還沒到十六個數還不能進一位,所以不能變成10,那怎麼辦?數字不夠用那就用字母來湊,9後面接着數A、B、C、D、E、F,然後才進一位變成10。
進制間的轉換
人類習慣看十進制的數,看到一長串的二進制數就一臉懵逼。計算機就隻認二進制的數,看到十進制也是一臉懵逼。至于十六進制我想就是為了取個平衡吧(十六進制和二進制的轉換會容易些)。
什麼叫進制的轉換呢?比如說二進制中0、1後面的數是10(不讀作“十”),我們知道在十進制中1後面是2,所以二進制中的10轉換為十進制就是2,反過來十進制中的2轉換為二進制就是10。當然進制間轉換不能靠數。
如圖所示:将二進制每四位分為一組,不夠四位的前面補0(例子中沒補)。每一組都可以轉換為一個十六進制的數,将這些數連在一起就是結果,也就是說上面的二進制轉換位十六進制為156。那麼每一個組裡的二進制要怎麼轉為十六進制呢?
從上圖可知0110的值計算為0*8 1*4 1*2 0*1 = 6。如果4位全為1剛好是十六進制的F,這可以解釋為什麼是4位劃分為一組了。
十六進制轉二進制剛好是一個相反的過程。将十六進制數的每一位轉化為一個4位的二進制,然後連起來。
二進制轉十進制的思路第二幅圖的思路是一樣的,隻不過不分組就是了。例:
十進制轉二進制就比較麻煩了,要将十進制的數不斷除2取餘數,懶得寫了丢個網上的圖片:
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!