圖/River
文/維尼老師
現在是電腦時代,生活中各方面幾乎都離不開電腦。幾千年來,人類在生活中使用十進位,需要0、1、2、3、4、5、6、7、8、9,一共10個數字;而電腦以電流、電子元件來運作,只需考慮兩種狀態:電流通電或未通電、電子元件是開或關。所以在電腦的世界裡,只需要使用0來表示未通電或關閉、用1來表示通電或開啟,就能處理龐大繁複的資料。換句話說,電腦是二進位的世界,跟我們習慣的理解方式不同。
一個二進位數字,完全由0和1組成,比方101.11,但是這個數到底是多少呢?我們不是電腦,所以必須把它轉換成十進位數,我們才能看得懂。
十進位的整數位值,由右到左分別是1、10、100、1000……;小數點之後的位值,由左到右分別是1/10、1/100、……所以像36.25就代表3個10、6個1、2個1/10、5個1/100;而二進位的整數位值,由右到左則分別是1、2、4、8、16……;小數點之後的位值,由左到右分別是1/2、1/4 、1/8、 ……所以101.11這個二進位數轉換成十進位,就是1×4+1×1+1×1/2+1×1/4=5.75。
那麼,反過來,要怎樣把十進位數變成二進位數呢?比方想把14.625轉換成二進位,整數部分14的轉換方法是這樣的:
將14除以2,商7寫在下面,餘數0寫在右邊;再將7除以2,商3寫在下面,餘數1寫在右邊;將3除以2,商1寫在下面,餘數1寫在右邊。當商變成1,整個轉換過程就結束了,而14轉換出來的二進位數就是1110。(將外圍的數由左下往右上讀)
至於小數部分的轉換,則是乘以2,取整數部分,將小數部分再乘以2,取整數部分……,不斷進行下去直到小數部分變成0。以0.625為例:
0.625 ×2= 1.25 → 取 1(小數點後第一位)
0.25 ×2= 0.5 → 取 0(小數點後第二位)
0.5 ×2= 1.0 → 取 1(小數點後第三位)
所以0.625轉換成二進位小數就是0.101。因此,十進位的14.625轉換成二進位就是1110.101。解說到這裡,大家是不是都學會了?是不是很有趣呀?