十進制轉換成二進制的時候,若是不用計算器是一件很麻煩的事情,須要不斷地除以二而後在計算結果,這是一件很浪費時間的算法,如今我就告訴大家一種最簡潔的算法;
例1:把十進制133轉換成二進制;
先計算133由多少個2,4,8,16,32,64····相加所得,133=128+4+1 而後開始進行巧妙地運算,133由一個128一個4一個2相加所得,有沒有發現這裏面沒有2,8,16,32?沒有就對了哈哈!如今開始轉換了,注意了,先從2開始,(133=128+4+2)中沒有2,咱們就記做0,裏面有一個4,咱們記1,裏面沒有8,16,32,64,咱們須要記4個0,裏面有一個128,咱們再記1,而後把這些連到一塊兒就是1100010,到了這裏尚未完,下面也就是須要咱們注意的事項,由於133轉換成二進制是八位,咱們須要在最後一位補0加1,把咱們剛纔獲得的結果反過來而後在最後一位補0加1就變成了10000101,這就是正確的答案。
133=1*1+2*0+4*1+8*0+16*0+32*0+64*0+128
1 0 1 0 0 0 0 1
反過來就是正確答案:10000101
例2:把十進制78轉換成二進制;
用剛纔的方法計算一下:
78=1*0+2*1+4*1+8*1+16*0+32*0+64*1
0 1 1 1 0 0 1
反過來就是正確答案:1001110
在轉換的時候須要注意的事項:
一、計算加法的時候必定要從最大的開始算起,好比133,構成133最大的一個數是128,因此就從128開始。
二、位數問題:0~1 1位;
2~3 2位;
4~7 3位;
8~15 4位;
15~31 5位;
32~63 6位;
64~127 7位;
128~255 8位;
用了這種方法是否是簡單多了!哈哈!算法