十進制與二進制快速互轉換計算心得

前一篇我們介紹了模2運算的加減乘除運算 ,雖然,我們瞭解了模二運算的基本法則,但是,如果每次都要計算,那就未免覺得太繁瑣,所以,這裏我總結了一套自己的運算心得供大家學習。接下來,我們就要講解一下如何基礎算法中快速實現進制的轉換。

舉個栗子:

我們求以前求一個10進制的數轉換成2進制的過程大致如此,用這個十進制數“除2取餘,逆序排列"法。具體做法是:用2整除十進制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商爲小於1時爲止,然後把先得到的餘數作爲二進制數的低位有效位,後得到的餘數作爲二進制數的高位有效位,依次排列起來。如下圖所示:
在這裏插入圖片描述
你會發現,這種方法會有明顯的缺陷,那就是如果這個10進制的數非常大,那麼這樣一直“除二取餘”可能非常的浪費時間,甚至是浪費紙張。那莫有沒有更好的方法實現了,答案肯定是有的,下面就介紹一下我的快速計算使用心得。

快速計算心得

首先我們需要背誦2的2到10的冪次方,這個我相信對大家都不難,它們分別是1、 2、4、8、16、32、64、128、 256、 512 、1024。而這些數對應的二進制分別1、10、 100 、1000 、10000 、100000、 1000000 、10000000、 100000000 、1000000000.

  1. 10進制轉2進制
    接下來,就是開始心算的時候,比如:
 9=8+1                     那麼對應的二進制就是:1001
 13=8+4+1                  那麼對應的二進制就是:1101
 17=16+1                   那麼對應的二進制就是:10001
 34=32+2                   那麼對應的二進制就是:100010
 245=128+64+32+16+4+1      那麼對應的二進制就是:11110101

每次從高位依次往下寫,比如34 從32 往下寫 依次是 16 、8 、4 、2 、1 在該位數上分解的數有該數就寫1,沒有就寫0。

  1. 2進制轉10進制
    同理,也是從高位開始計算,先數二進制數比如:
101010   共有6個數,那麼就從2的(6-1)次方開始計算  分別是32,8,2   結果就是:32+8+2=42
100010   共有6個數,那麼就從2的(6-1)次方開始計算  分別是32,2     結果就是:32+2=34
.........

好了,這個方法是不是很簡單,如果覺得對你有幫助,不妨給一個小紅星吧!
如果,你還是不瞭解,建議先看一下我的上一篇博客:模2運算的加減乘除運算

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章