進制轉換是個老問題了,今天恰巧看見。我詳細的去分析下它。留一筆吧
二進制的范圍是(0-1), 不包含2
八進制的范圍是(0-7) ,不包含8
十六進制的范圍是(0-15) ,不包含16
先講十進制---->二進制的轉換,舉例子說明的十進制數字12
這里我把十進制的12轉換成二進制,該為多少?
十進制轉換二進制方法:十進制通通除以2
拿12來開刀
我們每次都除以2直到商為0停止,最后的二進制結果取每次得到的余數
最后得到結果是1100
十進制轉換二進制很簡單,下面逆向分析,二進制如何轉換十進制
隨機一個二進制0100,我開始嘗試把0100轉換成十進制
也很簡單
先看一張圖
搞清楚上面那張圖,下面運算就很簡單了
十進制轉換成二進制和二進制轉成十進制的算法都講完了。這只是開胃菜。我們繼續:
下面是十進制轉換成八進制的演示:
學到這里相信大家都已經知道十進制轉換成二進制是:十進制數字每次都除以2
那么十進制轉換成八進制是否有這種類似的規律可言呢?
猜的沒錯,的確如此。十進制轉換成八進制就是:十進制數字每次都除以8
我們獎十進制54轉換成八進制
這里我算出來是66
驗證下答案:
結果就是余數從下往上數,這個我在前面就講過。
現在開始演示八進制轉換成十進制
在上面的知識學習中我們發現二進制轉換成十進制是:二進制數字*2^n次方(n隨位置的變化而變化)
那么八進制轉換成十進制是否也存在這種規律呢?
答案是必然的
舉例子說明的八進制數字是64,把64轉換成十進制是多少呢?
這里我算出來是52
驗證下結果:
沒問題
剛剛我講解了十進制轉換成八進制,同時也講解了八進制轉換十進制的方法
現在我們需要加大難度,我們嘗試將二進制轉換成八進制
該怎么做?這里存在一個算法公式:二進制每三個位置等於一個八進制數
理解這個公式就很輕松的做這種轉換
我們隨機輸入二進制數字進行測試:0100101010101
就選擇我紅色標記的二進制數,將它轉換成八進制
所以二進制0100101010101的八進制數是4525
演示完二進制轉換成八進制,那么八進制轉換成二進制呢?
一個道理,只要記住:每三個二進制=一個八進制數
假設八進制數字是15,把15轉換成二進制,我來演示下:
驗證結果:
#八進制轉換成二進制還可以這樣:先八進制轉換成十進制然后在十進制轉換成二進制,但是那樣太麻煩,這樣一次性算好比較好。
假如你能從最前面看到這里,那我表示佩服。哈哈
回顧上面講的,我們已經講完了:十進制和二進制之間的轉換和十進制,八進制,二進制之間的轉換
寫到這里,筆者自己也有點亂了,不要說了,一鼓作氣!下面要介紹是十六進制!
首先講解十進制轉換成十六進制
在進行轉換之前學了解一個十六進制的基礎知識:
從16進制開始,不是簡單的都是數字了開始多了字母!
好了咱們繼續,這里我選取的十進制數字是:15
我開始將十進制15轉換成十六進制,會是多少呢?
現在我們嘗試把十六進制轉換成十進制該怎么轉換?
和之前二進制轉換十進制和八進制轉換成十進制一個道理,這里是:十六進制數字*16^n次方(n隨位置的變化而變化)
這里演示的十六進制數字是:23
這里我將十六進制的23轉換成十進制:
演示完了十進制和十六進制之間的轉換,現在開始演示十六進制轉換成八進制
選取16進制23
轉換思路有點多。。。我隨機選取一種吧,將23先轉換成十進制,上面我已經做過了是35
將十進制35轉換成八進制就是:
這個其實不難,就是兩次轉換而已
現在演示最關鍵的就是二進制和十六進制之間的轉換
在講解之前先講解一個很重要的公式:每四個二進制=一個八進制數 (正所謂2^4=16)
那么隨機選擇一個二進制數字:0100100011
二進制轉換成十六進制講完,下面是十六進制轉換成二進制
隨機選取十六進制:15
感覺該講的我都講完了,寫完了整個過程,首先我自己收獲頗多,記錄下這一筆!
-----------不忘初心,方得始終!