創作內容

12 GP

計算機為何使用二進位-序論

作者:藍貓│2013-09-25 11:21:52│巴幣:24│人氣:5020
在介紹計算機架構之前,有沒有人想過為什麼電腦要使用二進位?
為什麼電腦不用使用人類習慣的十進位?

剛開始知道電腦是二進位處理方式的人一定會說,真他媽的我真不知道為什麼電腦一定要機機歪歪,搞個二進位這麼難的東西。

其實最初的電腦模型設計是十進位沒錯,而且最初是機械電腦,靠的是轉動機械結構來進行數字運算,但是最後這個設計沒做出來,因為當時沒有足夠的技術完成它,它只是理論上可行的電腦架構。

很可惜,自從這個理論架構被設計出來之後,後來的幾十年都沒有真正意義上可以運作的電腦,只曾經被用在單獨的加法和乘法計算機,但是到了1940年代,我們為什麼會演進成二進位的電腦架構呢?

有沒有人一想到這個問題就一個頭兩個大?為什麼電腦要設計成二進位?

很簡單,用你食指跟大姆指圍圈圈......

當然,不單純如此,還有很多其它隱性的原因,但是主要就是money。

我這樣講你又會想摔盤子,你一定會說:你這樣有解釋等於沒解釋!

不急,且聽筆者細說其由來,筆者將帶你深入計算機之美學......

其實在十七世紀中葉,最剛開始計算機的架構是以機械式計算機為主,設計也都是以十進位為基礎,最早的計算機是只做加法的,當時用十個齒表示0~9,沒多久,又出現了機械式的乘法計算機。

嚴格說起來,中國的算盤也算機械式計算機。

後來進一步,數學家提出想做更複雜功能的計算機,這個時後的設計已經開始加入自動化的概念了,機械式計算機在十九世紀有真正意義成功的只有差分機,差分機是拿來計算多項式加法求值的,但是這台機器常常故障,白白砸了大錢。

但上述還不叫作完整的電腦喔,之後,數學家的兒子繼承了數學家的遺志,立圖發展出功能更強大的計算機,可以做出所有可能的計算,包含記憶體等電腦應有的概念,理論上這個設計可行,但是當時的技術做不出來,也因此就這樣過了幾十年內,都沒有實質意義上的電腦被實作出來。

必需強調一點,差分機和分析機都是以十進位為基礎而進行設計的。

後來的電腦不用機械運轉的理由是,電子零件的技術進步了。

以下講一下電子零件與機械零件的優缺點:
1.機械式電腦的運算速度比較慢,而且體積非常大
2.機械式電腦非常容易故障,意味著結構中有一個地方變形或壞掉就不好玩了,所以精度要求極高
3.若使用機械傳動的方式進行運算,會因為機械間的物理磨擦,消耗掉不少能量

一直到二十世紀初,物理學發展呈現大爆發的指數成長,大家都知道愛迪生的電燈泡本身就是設計成真空的,而這也促成了真空管的後續發展,而且其實早在這之前,電子零件的發展一直有在進步。

接下來正式進入到二進位這個最根本的問題了,我們忘掉前面講的林林總總,重新想一下,到底為什麼電腦要使用二進位?

說明第一個理由前我們就來談談電腦實體電路對二進位的觀點吧,這就必需說電子零件最基本的限制了,其實電腦表示二進位的方式是以電壓為基礎,5伏邏輯(0伏特代表0,5伏特代表1),為什麼呢?因為線路傳輸.運算的時後耗能很大,而且雖然理想上是精準的5伏特,但實際上可能是3.5-5之間來回擺動的高誤差狀態,而且實際傳輸會有各種因素影響訊號,造成雜訊。

這個時後大家可以想想二進位的好處了,我們如果設定成二進位,就可以讓誤差的可接受度變大,這是其一好處,不容易讓訊號的辨別產生問題,如果是十進位的話,來回擺動的伏度可能造成資料辨別錯誤,而且二進位對於過濾雜訊的效果是很強的,假設你的雜訊是0.5伏的雜訊,只要在可接受的誤差範圍,比如0.5伏或4.5伏,都還是會被視為0或1。

當然後來的電腦製程技術進步,基本上沒有這個問題了...

但是還有第二個理由,就是電路設計複雜度,而且這是最主要的原因,其它都是次要。

談到第二點前,首先一定會有人必需嗆一句:誰說電腦一定要使用二進位?其實你電腦不管怎麼設計,只要保證運算結果正確,沒有人說這樣設計是不對,你也可以說:只要誤差範圍低一點,十進位也可以來試著做做看啊!但是必需說,二進位是一個最容易讓電腦普及化的設計,這是完全沒爭議的。

因為有另一種電腦是採用跟二進位電腦完全不同的設計思維去實作的,那就是類比電腦,類比電腦是使用OP放大器實作的,輸入和輸出都是類比訊號,以下將附上兩張GOOGLE圖當作參考......

類比訊號

數位訊號

在提到缺點以前,先提類比電腦的優點吧,類比電腦因為是用正弦電波的組成傳輸資料訊號,所以任何資料都可以成為訊號電波中某一斷點的電壓值,執行效率自然是極度快。

但是如果是二進位,我要表示十進位中的10的話,表示成1010,

概念完全不同,所以沒辦法說類比訊號是X進位,真要扯的話,每一個斷點都可以塞不同資料,實際上卻要視電壓的判定誤差而定。

可是注意到一點,OP放大器因為設計上較為複雜.龐大,技術考量的多,價格非常昂貴,而且像上面說的,萬一有雜訊,就死翹翹。

既然昂貴,就極難普及......

相對來說要設計一個二進位的加法器是非常簡單的,而且二進位的加法器可以和其它電路設計搭配構成除法.乘法.減法,任何你所知的運算,只要它塞在小小的晶片就能大功告成了。

那你一定會說為什麼電腦沒有辦法實作十進位,一樣,電路問題,無法找到成本更低的實作方法。

僅管聽完上述關於電腦進位制的介紹,說明二進位的設計是如何天經地易,但你心裡一定還是不能夠接受或習慣,因為我們平常計算是不可能用二進位做運算的。

但如今,你要接受它,因為它是現今最友善.最精簡的電腦硬體設計,對於硬體而言,二進位是在合理不過的事,在接下來的章節我們將提到二進位如何表示數字。
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=2184257
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 8 篇留言

一不留 神犬
http://24.media.tumblr.com/tumblr_ma8ua9q3Da1qiwf8po2_500.gif

09-25 11:24

藍貓
XD09-26 00:34
Lewis
原來如此

09-25 14:08

藍貓
很多人講不出好的理由,這篇的目的是為了說服大家打從心底接受二進位XD09-26 00:36
納粹-恩(´・ω・`)
。不明,覺厲

09-25 18:38

藍貓
XD09-26 00:37
NitroHank
原來這就是計概的內容嗎?真有趣,長知識了,謝謝你。

09-25 18:58

藍貓
理論上課本不會寫到這麼多歷史細節,筆者最終目的只是想強調二進位背後其實有個無可否認的真理在支撐,以此來說服大家接受二進位XD09-26 00:40
.50 BMG
1跟0最便宜了是這樣嗎0.0?

09-25 21:07

藍貓
對,電路的應用彈性也很高,符合程式化電腦的特性,可造出多種運算效果。09-26 00:41
.50 BMG
可是這樣不是把編碼拉得很長反而需要更多儲存空間跟運算時間嗎?

09-26 11:39

藍貓
你說的沒錯,看就知道是行家,只不過呢,儲存空間已經不是問題了,因為現在的儲存裝置都太便宜了,再來是運算時間,家用電腦基本上差異不大,類比電腦雖然支援精密的計算,不過也面臨到儲存空間的問題,而且像上面說的,要讓類比電腦支援多元運算很難的。09-26 11:51
藍貓
二進位好在擴充彈性跟便宜簡單的設計。09-26 11:52
藍貓
但是也不是說類比電腦就不應該存在,不過類比電腦只有在美國軍方要計算導彈路徑那種才需要,而且不會是純類比,而是類比混搭數位。09-26 11:56
藍貓
而家用電腦跟一般電腦的取向則是多元運算,所以需求不同。09-26 11:57
藍貓
就需求面來看,是如此,就成本面來看,還是數位電腦有優勢,所以較容易普遍。09-26 12:10
.50 BMG
聽起來人類很快就解決了儲存空間的問題,計算機也沒有在這個時期待上太久,以至於二進位才會是現在普遍的運算方法,也就是說如果當時沒有費紐曼的出現我們現在可能是使用其他進位法嗎XD?

09-26 12:20

藍貓
有可能喔,因為二進位也是有人提出來才被重視的議題,但是歷史的發展誰知道呢?不過其實這個東西很早就有類似的觀念了,西方哲學裡有一門領域專門講邏輯,就是講真假二元的觀念,或許不管誰提,早提晚提遲早會有二進位的出現。09-26 12:27
藍貓
感謝你的熱烈討論,數位電腦的發展其實也不是說沒有瓶頸,MOORE定律再怎麼樣運作,都不可能超越物理限制,期待量子電腦的出現XD09-26 12:37
藍貓
了解西方哲學就等於了解西方科學,西方科學的發展一直以來都是順著哲學這個思想軸心成長的。09-26 12:41
愤世嫉俗
JAVA USER PASS BY

02-12 21:33

我要留言提醒:您尚未登入,請先登入再留言

12喜歡★ertyk122 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:程式語言題庫(迴圈)... 後一篇:(程式)十進位轉任意進位...

追蹤私訊切換新版閱覽

作品資料夾

小說連載 (0)
英雄聯盟小說(英雄聯盟系列) (19)
[外傳]昏黃歲月(英雄聯盟系列) (1)
阿宅與美女代打(英雄聯盟系列) (0)
[寫實小說]_糾心恥笑園 (0)
[寫實小說]_倒數末日 (0)
[寫實小說]_憂鬱天堂 (2)
[寫實小說]_網路殺人魔 (0)
[寫實小說]_錢魔 (0)
[神幻小說]_犬族的命運 (58)
[神幻小說]_捨不得你。妄想 (0)
國中生小說 (3)

漫畫連載 (0)
[搞笑四格]_場外舉人 (0)
[少年漫畫]_台北大地震 (0)
[少年漫畫]_就是愛運動 (0)
[少年漫畫]_餵愛一口香 (0)
[寫實漫畫]_白狼 (0)
[寫實漫畫]_天刑三二三 (0)
[寫實漫畫]_橫血英雄 (0)
[寫實漫畫]_恐龍妹 (0)
[神幻漫畫]_剩水童子 (0)
[神幻漫畫]_永遠的父女 (0)
[神幻漫畫]_勇者我家人 (0)
[其它]_音魂 (1)

劇本創作 (0)
[寫實劇本]_白狼 (1)
[寫實劇本]_天刑三二三 (0)
[神幻劇本]_繪魔 (0)
[神幻劇本]_魔曲 (0)

電腦理論 (6)
程式設計相關理論 (14)
高階程式語言理論 (6)
實作程式 (15)
程序之相關問題 (0)
硬體管理與計算機結構 (3)

創作理論 (3)
文學理論 (3)
文學實作要領 (0)
繪畫理論 (1)

生活日記 (241)
自我提醒 (5)

文創作品 (2)
散文與詩 (25)
故事大綱 (1)
繪圖 (57)
processing文創應用 (0)
勇造創作 (3)

數學領域相關證明 (0)

英雄聯盟豪洨文 (3)

辯論大會 (0)

未分類 (22)

leo25127更新至1224回
穿越奇幻日常系小說『公爵家的獨生子』更新囉,來看看我們無厘頭的ㄎ一ㄤ少爺怎麼在異世界作威作福吧!看更多我要大聲說昨天18:08


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】