1. 程式人生 > 實用技巧 >簡單講講二進位制與十進位制的轉換

簡單講講二進位制與十進位制的轉換

簡單講講二進位制與十進位制的轉換

本文寫於 2020 年 9 月 12 日

很多人覺得二進位制很奇妙,很難轉換,但其實沒那麼誇張。

首先看一個簡單的十進位制數:123

對於 123 而言,是 100+20+3 的結果,也就是 1*100+2*10+3*1

再進一步拆分成 10^n(十的 n 次方)後就可以表示為 1*10^2+2*10^1+3*10^0

這個時候我們發現這裡其實是存在某種規則的。

列個表看看:

10^2 10^1 10^0
0 0 0

那麼這是十進位制,換成二進位制的話,會不會是下面這樣呢?

2^2 2^1 2^0
0 0 0

這也就意味著,100、10、1 變成了 4、2、1。當我們繼續向後推進,二進位制就會變成 8、16……而不是十進位制的 1000、10000……

這個表有啥用呢?

我們來看幾個簡單的例子,十進位制的 2,在二進位制中是就是 10,這點我們非常清楚。

我們將 10 放入表中:

2^2 2^1 2^0
0 1 0

1*2^1+0*2^0,誒?!這不就是 2 嗎?

所以我們現在學會了二進位制轉十進位制的方法,就是將二進位制的每一位,乘上二的位數減一次方後相加

十進位制轉二進位制相對而言要更麻煩一點,也更難想——我們需要解出一個公式:a*1+b*2+c*4+d*8+e*16…… 這裡的 a、b、c……都表示的是 0 或 1。

例如 50。可以表示為:0*1+1*2+0*4+0*8+1*16+1*32,所以 50 的二進位制為 110010。

13 呢?可以表示為 1*1+0*2+1*4+1*8

,即為 1101。

(完)