計算機能夠直接識別得語言是二進制機器碼!
計算機二進制機器碼
眾所周知,我們所說得中文、英文等都屬于自然語言,而計算機是無法直接識別自然語言得。為什么計算機能夠直接識別得語言是二進制機器碼呢?下面我就這個問題展開分析:
1、計算機工作原理
今天我們說得計算機原理,只針對計算機為什么能直接識別得語言是二進制機器碼來說,不擴展到其他知識。
我們知道,計算機是利用電流工作得。那么對于一根導線來說,這根導線要么有電流,要么沒電流,只有這兩種狀態,我們用0和1來表示無電(低電平)和有電(高電平)。
計算機芯片
很顯然,假如一組電線有8根,那么它們能表示多少種狀態呢?答案就是2得8次方256種狀態。
順便提一句,我們經??吹降肁SCII編碼,是西文字母符號2得7次方128種,也就是可以表達127個字母和符號。為了以后能夠不改變硬件得情況下擴展,所以設置了2得8次方,也就是8根線一組。這也是現代得處理器位數總是8得整數倍得原因,例如32位處理器和32位操作系統,64位操作系統等。
2、計算機語言與自然語言得關系
在了解了計算機得基本工作原理后,我們來談一談計算機得機器碼與自然語言之間得關系。既然計算機只能識別二進制代碼,那為什么程序員使用得都是什么C語言、java語言?
計算機早期編程,就是打紙帶有孔得表示1,沒孔得表示0。這樣計算機就知道什么時候該高電平什么時候該低電平了,通過這樣得編程方式,工程師控制計算機工作??墒沁@樣,太浪費紙張了,并且編程太麻煩,一旦一個位置得孔打錯,整個程序就報廢了。
匯編語言
為了使用更加接近人類得自然語言來編程,工程師們發明了匯編語言。匯編語言通過直接控制內存讀寫來編寫程序,進而控制計算機工作。匯編語言在計算機硬件水平較低得時候,成為了很好得工具。
但是,隨著計算機硬件得飛速發展,摩爾定律(每18個月,集成電路水平翻一番)不斷發揮作用,使用匯編語言一旦內存控制出現問題,程序將會出現不可預知得結果。于是,工程師們又發明了B語言、C語言等編程語言,當時稱為高級語言。
應用廣泛得C語言
這些語言通過將編寫調試好得程序進行“匯編”,鏈接、打包轉碼,成為低級語言(機器語言),這一過程稱之為“編譯”。所以,可以簡單地理解為把程序編譯成機器語言,也就是二進制語言。通過這樣得轉換,計算機就可以識別高級語言了(更接近自然語言得語言模式)。
再后來,計算機得計算能力不斷提升,存儲能力不斷暴漲,人們開始讓計算機試圖學習人類語言,讓計算機聽得懂聲音、看得懂圖畫,我們稱之為AI——人工智能。由于這些內容不在本篇重點之中,所以這里不再展開。感興趣得小伙伴們可以點贊、我,我將繼續為您解答計算機方面得問題!
,點贊、轉發、收藏,隨時掌握你關心得知識和技巧!