03.02 為什麼“機器”可以做計算?計算和機器的本質是什麼?

天天圍棋


機器是如何做計算的?

電子數值積分計算機(Electronic Numerical Integrator And Computer),縮寫為ENIAC,又音譯為伊尼亞克是世界上第一臺通用計算機。它是圖靈完全的電子計算機,能夠進行重新編程,解決各種計算問題。

圖示:第一代可編程計算機,ENIAC,重達30噸,它每秒鐘可以做5000次加法計算。


讓我們用一個簡單的例子,加法運算,來簡單的說說,為什麼機器可以做計算。

首先,工程師設計計算機,是綜合考慮了機器硬件的可靠性和人類的算法來進行設計的。


對於一臺能使用的計算機或計算器而言,它需要具有接受輸入、進行運算、輸出結果,這樣的三個基本環節。


計算機或計算器,是使用二進制來進行運算的。

理解了二進制,就能理解為什麼機器可以做運算。

比如 1+1 = 10

在計算機領域,有一個經典段子

世界上只有10種人,一種懂二進制,一種不懂。

所謂二進制,就是逢二進位。而日常用的十進制,則是逢十進位。

即9+1=10


為什麼計算機在設計的時候,要用二進制而不使用十進制?


因為,無論是接受輸入,還是進行運算,都意味著需要改變機器的內部狀態,最後輸出結果,就是對已經改變的內部狀態進行測量,然後將測量得到的結果進行輸出,可以是在紙帶上打孔也可以是輸出到屏幕或者輸出的聲音等等。


那麼,在設計計算機的時候,最重要的要素在於,如何保證這三個環節的穩定和可靠呢?二進制就是最穩定可靠的形式,因為所謂二進制,就是有還是沒有,燈亮還是沒亮,電壓是高還是低等等,二進制就是二分法,而二分法對於機器測量來說是最簡單最可靠的方法。


這裡舉一個例,不說多了。

圖示:與門。

這是一個元器件,它叫與門,啥意思?

它有兩個輸入A和B,一個輸出Y,只有當A和B都是高電平輸入時,Y的輸出才是高電平,否則Y的輸出都是低電平。


這個與門和運算有啥關係呢?

簡單說,它就可以用來表達進位。在什麼時候才能進位?只有當1+1的時候,1代表高電平,0代表低電平。所以,1+0 或者 0+1的輸入,在進位上的判斷都是0。讓我們展開來寫全了。

1 + 1 = 10

1+0 = 01

0+1 = 01

這個與門控制的就是在首位是1還是0。


題主要是對計算機為何可以運算得到結果有濃厚的興趣,那得老老實實的把計算機中的邏輯門(與門、或門和非門,同或門、異或門)搞清楚,如果能自己利用這些元器件組裝出單片機,那就算學習和實踐相結合了。

圖示:自己玩玩單片機組裝,就能深刻理解,為什麼機器可以做計算。

因為,計算就是一系列的邏輯判斷!當然未必所有的計算都是如此,但世間絕大多數計算都可以轉換成邏輯判斷,通過這些判斷來改變機器內部元件所處的二進制狀態,將這種狀態讀出並轉譯成人類可讀的形式,就是結果的輸出。


裸猿的故事


為啥總有莫名其妙的問題出現呢?

機器為什麼可以計算,計算的本質,機器的本質,莫名其妙好吧。

就像中文,沒學中文前,外國人是不懂的,學了之後就懂了。

機器能計算,是人賦予了它能識別正好我們也通曉的“語言”。

這個通用的“語言”就是一架橋樑,離開了它,機器還是機器就一坨金屬,計算就是一坨鬼畫符。


分享到:


相關文章: