1. 程式人生 > >除二反序取餘法:十進位制轉二進位制

除二反序取餘法:十進位制轉二進位制

下面來看十進位制怎麼換算成二進位制。我們知道

13=1×2 3 +1×2 2 +0×2 1 +1×2 0

所以13換算成二進位制應該是(1101) 2 。問題是怎麼把13分解成等號右邊的形式呢?注意到等號右邊可以寫成

13=((((0×2+1 3 )×2+1 2 )×2+0 1 )×2+1 0

我們將13反覆除以2取餘數就可以提取出上式中的1101四個數字,為了讓讀者更容易看清楚是哪個1和哪個0,上式和下式中對應的數字都加了下標:

13÷2=6...1 0
6÷2=3...0 1
3÷2=1...1 2
1÷2=0...1 3

把這四步得到的餘數按相反的順序排列就是13的二進位制表示,因此這種方法稱為除二反序取餘法。