
人用紙和筆來做運算,都是用十進制,直接用十進制和我們最熟悉的符号不是最簡單麼?
為什麼計算機裡我們最終要選擇二進制呢?
來看看,計算機在硬體層面究竟是怎麼表示二進制的,你就會明白,為什麼計算機會選擇二進制。
1 怎麼做到“千裡傳書”
馬拉松的故事相信你聽說過。公元前490年,在雅典附近的馬拉松海邊,發生了波斯和希臘之間的希波戰争。雅典和斯巴達上司的希臘聯軍勝利之後,雅典飛毛腿菲迪皮德斯跑了曆史上第一個馬拉松,回雅典報喜。這個時候,人們在遠距離報信的時候,采用的是派人跑腿,傳口信或者送信的方式。
但是,這樣靠人傳口信或者送信的方式,實在是太慢了
在軍事用途中,資訊能否更早更準确地傳遞出去經常是事關成敗的大事
是以我們看到中國古代的軍隊有“擊鼓進軍”和“鳴金收兵”,通過打鼓和敲钲發出不同的聲音,來傳遞軍隊的号令。
如果我們把軍隊當成一台計算機,那“金”和“鼓”就是這台計算機的“1”和“0”
我們可以通過不同的編碼方式,來指揮這支軍隊前進、後退、轉向、追擊等等。
“金”和“鼓”比起跑腿傳口信,固然效率更高了,但是能夠傳遞的範圍還是非常有限,超出個幾公裡恐怕就聽不見了。于是,人們發明了更多能夠往更遠距離傳信的方式,比如海上的燈塔、長城上的烽火台。因為光速比聲速更快,傳的距離也可以更遠。
亞曆山大港外的法羅斯燈塔,位列世界七大奇迹之一,可惜現在隻剩下遺迹了。可見人類社會很早就學會使用類似二進制信号的方式來傳輸資訊
但是,這些傳遞資訊的方式都面臨一個問題,就是受限于隻有“1”和“0”這兩種信号,不能傳遞太複雜的資訊,那電報的發明就解決了這個問題。
從資訊編碼的角度來說,金、鼓、燈塔、烽火台類似電報的二進制編碼
電報傳輸的信号有兩種,一種是短促的點信号(dot信号),一種是長一點的劃信号(dash信号)
我們把“點”當成“1”,把“劃”當成“0”。這樣一來,我們的電報信号就是另一種特殊的二進制編碼了
電影裡最常見的電報信号是“SOS”,這個信号表示出來就是 “點點點劃劃劃點點點”。
比起燈塔和烽火台這樣的裝置,電報信号有兩個明顯的優勢
信号的傳輸距離迅速增加
電報本質上是通過電信号來進行傳播的,是以從輸入信号到輸出信号基本上沒有延時
輸入信号的速度加快了很多
電報機隻有一個按鈕,按下就是輸入信号,按的時間短一點,就是發出了一個“點”信号
按的時間長一些,就是一個“劃”信号
一個手指,就能快速發送電報。
一個摩爾斯電碼的電報機
制造一台電報機也非常容易
電報機本質上就是一個“蜂鳴器+長長的電線+按鈕開關”
蜂鳴器裝在接收方手裡,開關留在發送方手裡。雙方用長長的電線連在一起。當按鈕開關按下的時候,電線的電路接通了,蜂鳴器就會響。短促地按下,就是一個短促的點信号;按的時間稍微長一些,就是一個稍長的劃信号。
有了電池開關和鈴铛,你就有了最簡單的摩爾斯電碼發報機