電腦的數學基礎:二進位系統與運算
十進位
小學所教的加減乘除方法都是以十進位為基礎的,舉例而言、十進位的 358 其實代表的是 3*100+5*10+8*1
這樣以 10 為基礎的表達系統,如果寫成直式或許讀者會看得更清楚。
300 3*100
50 + 5* 10
8 + 8* 1
+ ----- = --------------------
358 3*100+5*10+8*1
二進位
但是在電腦當中,十進位並不好用,二進位才是比較適合電腦的表達方式,以下是二進位裏前幾個位元所代表的意義。
0 0 0 1 代表 1
0 0 1 0 代表 2
0 1 0 0 代表 4 = 2*2
1 0 0 0 代表 8 = 2*2*2
於是,二進位的 1101 所代表的,其實是如下的一個數字:
1000 8
100 4
1 1
+ ----- = + -------
1101 13
二進位加法
當我們用十進位做加法運算的時候,每當數字到達十就必須進位,這也正是十進位這個名詞的意義,以下是一個十進位加法的範例。
進位 11
A 358
B 74
+---- ---------
A+B 432
同樣的、當我們用二進位作加法的時候,只要數字到達 2 就必須要進位,以下是一個二進位加法的範例:
進位 1 1 1 1 1
A 0 1 1 0 1
B 1 0 1 1 1
+---- -----------
A+B 1 0 0 1 0 0 = 十進位的 36
小結
當您可以理解二進位與其加法之後,就可以進一步理解「用二補數表示負數、二進位減法、乘法與除法」等等,未來我們將會進一步討論這些主題。
現在我們已經學會二進位的表示法,還有二進位的加法了,於是我們可以開始設計二進位加法的電路了,讓我們回到邏輯閘的世界吧!