高級語言與機器語言的主意區別是什麼
❶ 高級語言和編匯語言和機器語言都是什麼區別
先說它們的歷史吧。《原創,請酌請採納》
在利用計算機的初級階級,人們只能用由0和專1組成的二進制序列屬組合組合進行編程(即機器語言),由於計算機內部以二進制的方式運行,機器是最強大,它無所不包,無論什麼樣的軟體都可用它編寫,但它的局限性或缺點是顯而易見的(有時候還是致命的),在你編寫完成程序後,如果發生錯誤,很難通過代碼找出BUG(無可讀性),更難以維護(試想對著上千上成由0和1組成的文字的情景),人們迫切希望有一種語言解決這一問題,於是匯編語言應運而生;匯編語言和機器語言同屬低級語言,但用它寫的代碼簡潔,易懂,可讀性強,易於維護,且能實現絕大部分機器語言的功能(比如直接操作內存),比如用+來代替機器語言的000011101(舉個例,不知是不是這個),很明顯我們很快能理解它是進行加法運算的代碼;後來,又出現一種語言,它就是高級語言,它比匯編更能「看得懂」,介於計算機語言與自然語言之間,比如if,一眼便可看見它是「如果」的時候,表判斷,一般來說高級語言離硬體比較遠(除了C等),適於寫系統軟體。
如果還有什麼不懂的地方,歡迎追問
❷ 簡述機器語言和匯編語言、高級語言各有什麼特點
機器語言:一種指令復集的體系。依賴制於硬體,可以直接執行,速度最快,不便於人類閱讀和編程。
匯編語言:機器語言的符號化,不同機器有不同的機器語言,就有不同的匯編語言。是低級語言,執行效率雖然略低於機器語言,但比高級語言快。相對於機器語言來說更便於人類理解和編程,但編程效率低。
高級語言:高度封裝了的編程語言,與低級語言相對。更加接近於自然語言的一種計算機程序設計語言。編譯器的作用就是把高級語言的源代碼轉換成對應平台的目標代碼。高級語言書寫比較簡單,但是翻譯起來比較復雜,同樣的高級語言語句可以有不同的機器語言實現方法。因此同一段高級語言經過不同的編譯器編譯之後會得到不同的目標程序,就是說高級語言與匯編/機器語言之間不再是一一對應的關系了。
❸ 機器語言 匯編語言和高級語言的特點是什麼
關於這幾個語言,是有歷史沿革的,最開始的電腦,是怎麼編程的呢?
世界上第一個程序是1842年寫的,恰好在第一個能被稱為計算機(你看到它不會認為它是計算機)的真正機器。這段代碼的作者是Ada Augusta,被封為Lovelace女伯爵,就是我們所知道的Ada Lovelace。作為世界上第一個計算機程序的作者,她被廣泛地認為是有史以來第一位程序員,而且是一位妹子,看現在編程界程序猿橫行,而程序媛則成為瀕危物種的現在,是不是覺得很諷刺呢?世界上第一個計算機程序是是為巴貝奇分析機(這個機器從來沒有真正建成過,大英帝國的又一悲劇)設計的,用於計算了伯努利數字序列。她描述了怎麼把大量的巴貝奇分析機的穿孔卡片作為輸入實現這個程序。
真正意義上的第一台計算機可編程計算機,不是ENIAC,而是康拉德·楚澤在1941年發明的Z-4,這台機器是如何編程的呢?他用一個在細孔中移動的針,指明0和1,這台機器也採用了「穿孔帶」輸入程序。將穿孔帶放到輸入部分中,用打孔和沒打孔表示電路中的0和1,將不同的電路組合,最後變成特定的程序,他甚至為該計算機寫作了世界上第一個下國際象棋的計算機程序。機器語言,對現有計算機架構來說,語言只有兩個基本構成元素,0和1,這些0和1的各種組合,變成CPU的指令集,最終確定了晶元中各種邏輯電路的通斷等,實現不同的功能。
再說說匯編語言。用機器語言完全可以編寫任何程序,但是如果誰還讓人用機器語言編寫程序,那麼他就犯了反人類的罪行。先想想,整天就是不斷地輸入0,1,是多麼地容易出錯,然後又多麼不容易調試。為了解決這個問題,就將0和1組合的指令集,取一些別名,先看這個機器碼:
1000100111011000
這個是做什麼用的呢?其實就是匯編語言中的 mov ax,bx
即將寄存器BX中的內容送入AX中。匯編語言會有一個編譯的過程,編譯就是將匯編代碼轉換為機器碼的過程,有點語言翻譯的味道,凡是碰到mov ax,bx,就轉換為1000100111011000,也就是對應的機器碼,畢竟機器只懂機器語言。順便啰嗦一句,很多人問,編譯器也是一個程序,這個程序是怎麼來的呢?當然是用機器語言編寫而成的啊!你看看早期編程是多麼不容易的一件事,向這些先驅致敬,那個時候的程序員,可是相當高大上的職業。
用匯編語言之後,業界編寫了很多給力程序,但是能不能更輕松一些呢?匯編語言的局限性很明顯,就是與機器緊密相關,在這台機器上花了九牛二虎之力搞出的程序,結果換台機器就用不了。
這個時候高級語言就出來了,高級語言,更多地是符合英語的語法特點,其實質還是將語言通過編譯,最終生成機器碼(當然中間還涉及到一個鏈接過程)。早期的C語言就是一個非常成功的語言,能在很多平台上運行,雖然這個語言缺陷重重,但是還是獲得了巨大的成功。後來更多的語言簡直就是百花齊放,現在比較主流的一些程序語言有C++和Java,其他語言如VB,C#、Python、Pascal等,功能也得到更大的提升,但是,無論一個程序多麼牛逼,其基本組成元素最後都是0和1,亦即機器碼。
❹ 機器語言、符號語言、高級語言有什麼區別各有什麼優點
機器語言是給機器看抄的,都是0和1組成,人看會很痛苦,非常不方便。
為了解決這個問題,出現了符號語言,也就是匯編。
這個比機器語言更貼近人的語言, 和機器語言一一對應,讓編程更簡單了。
不過人總是懶惰的,有了匯編還不滿足,還覺得麻煩。於是就有了高級語言。可以用更少的字元進行編程,實現相同的效果。
❺ 1、試簡述機器語言、匯編語言、高級語言三者的主要區別
區別:
1、效率:
機器語言:執行效率高,速度快;
匯編語言:編程效率不高,屬低級語言;
高級語言:執行效率不及機器語言,但編程效率高於匯編語言。
2、組成:
機器語言:機器語言是由0和1按一定規則排列組成的一個指令集:它是計算機唯一能識別和執行的語言。
匯編語言:用助記符來表示機器指令中的操作碼和操作數的指令系統。可讀性增強,執行速度快;
高級語言:一種更接近人類的自然語言和數學語言的語言,用它編寫的程序可以很大減少編程人員的勞動,因此它也具有較好的可移植性。
3、面向類型:
機器語言:是一種面向機器的語言,可讀性差。
匯編語言:仍是一種面向機器的語言;
高級語言:簡化靠近人的自然語言。
(5)高級語言與機器語言的主意區別是什麼擴展閱讀:
1.大量繁雜瑣碎的細節牽制著程序員,使他們不可能有更多的時間和精力去從事創造性的勞動,執行對他們來說更為重要的任務。如確保程序的正確性、高效性。
2.程序員既要駕馭程序設計的全局又要深入每一個局部直到實現的細節,即使智力超群的程序員也常常會顧此失彼,屢出差錯,因而所編出的程序可靠性差,且開發周期長。
3.由於用機器語言進行程序設計的思維和表達方式與人們的習慣大相徑庭,只有經過較長時間職業訓練的程序員才能勝任,使得程序設計曲高和寡。
4.因為它的書面形式全是"密"碼,所以可讀性差,不便於交流與合作。
5.因為它嚴重地依賴於具體的計算機,所以可移植性差,重用性差。
❻ 怎樣理解高級語言和機器語言
高級語言:由於匯編語言依賴於硬體體系,且助記符量大難記,於是人們又發明了更加易用的所謂高級語言。在這種語言下,其語法和結構更類似普通英文,且由於遠離對硬體的直接操作,使得一般人經過學習之後都可以編程。高級語言通常按其基本類型、代系、實現方式、應用范圍等分類。
機器語言
英 文: Machine Language
別 名: 低級語言,二進制代碼語言
定 義:
機器語言是直接用二進制代碼指令表達的計算機語言,指令是用0和1組成的一串代碼,它們有一定的位數,並分成若干段,各段的編碼表示不同的含義,例如某台計算機字長為16位,即有16個二進制數組成一條指令或其它信息。16個0和1可組成各種排列組合,通過線路變成電信號,讓計算機執行各種不同的操作。
如某種計算機的指令為1011011000000000,它表示讓計算機進行一次加法操作;而指令1011010100000000則表示進行一次減法操作。它們的前八位表示操作碼,而後八位表示地址碼。從上面兩條指令可以看出,它們只是在操作碼中從左邊第0位算起的第6和第7位不同。這種機型可包含256(=2的8次方)個不同的指令。
特 點:
機器語言或稱為二進制代碼語言,計算機可以直接識別,不需要進行任何翻譯。每台機器的指令,其格式和代碼所代表的含義都是硬性規定的,故稱之為面向機器的語言,也稱為機器語言。它是第一代的計算機語言。機器語言對不同型號的計算機來說一般是不同的。
缺 點:
1.大量繁雜瑣碎的細節牽制著程序員,使他們不可能有更多的時間和精力去從事創造性的勞動,執行對他們來說更為重要的任務。如確保程序的正確性、高效性。
2.程序員既要駕馭程序設計的全局又要深入每一個局部直到實現的細節,即使智力超群的程序員也常常會顧此失彼,屢出差錯,因而所編出的程序可靠性差,且開發周期長。
3.由於用機器語言進行程序設計的思維和表達方式與人們的習慣大相徑庭,只有經過較長時間職業訓練的程序員才能勝任,使得程序設計曲高和寡。
4.因為它的書面形式全是"密"碼,所以可讀性差,不便於交流與合作。
5.因為它嚴重地依賴於具體的計算機,所以可移植性差,重用性差。
這些弊端造成當時的計算機應用未能迅速得到推廣。
機器語言;
一種cpu的指令系統,也稱cpu的機器語言。它是該cpu可以識別的一組由1和0序列構成的指令碼。用機器語言編程序,就是從實用的cpu的指令系統中挑選合適的指令,組成一個指令系列。
❼ 高級語言與機器語言和符號語言相比,有哪些重要區別
高級語言與機器語言相比,更加易於人類學習和理解,當然,在執行效率方面還是比不上機器語言和符號語言的,現在還是建議學習高級語言,上手快,而且便於理解
❽ 高級語言、匯編語言、機器語言三者的區別與聯系
一、指代不同
1、高級語言:相對於機器語言(machine language)是一種指令集的體系。
2、匯編語言:是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言。
3、機器語言:不經翻譯即可為機器直接理解和接受的程序語言或指令代碼。
二、編碼方式不同
1、高級語言:語法和結構更類似漢字或者普通英文,且由於遠離對硬體的直接操作,使得一般人更容易學習。
2、匯編語言:匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
3、機器語言:使用絕對地址和絕對操作碼。不同的計算機都有各自的機器語言,即指令系統。從使用的角度看,機器語言是最低級的語言。
三、特點不同
1、高級語言:高級編程語言因為發展的歷史,擁有很多函數庫,用戶可以根據自身的需求在代碼中加入頭文件來調用這些函數來實現自己的功能,當然使用者也可以根據自己的喜好編寫函數來在後續的代碼中調用。
2、匯編語言:用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。
3、機器語言:指令是一種二進制代碼,由操作碼和操作數兩部分組成。操作碼規定了指令的操作,是指令中的關鍵字,不能預設。操作數表示該指令的操作對象。
❾ 高級語言與機器語言的主要區別是什麼
區別:
高級語言更接近於數學語言或人的語言,同時不依賴於計算機硬體,編出來的程序在所有機器上通用,而機器語言對計算機的硬體依賴性比較大,可讀性差
高級語言:
高級語言(High-level programming language)相對於機器語言(machine language,是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的數據)而言。是高度封裝了的編程語言,與低級語言相對。它是以人類的日常語言為基礎的一種編程語言,使用一般人易於接受的文字來表示(例如漢字、不規則英文或其他外語),從而使程序編寫員編寫更容易,亦有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。由於早期電腦業的發展主要在美國,因此一般的高級語言都是以英語為藍本。在1980年代,當東亞地區開始使用電腦時,在日本、台灣及中國大陸都曾嘗試開發用各自地方語言編寫的高級語言,當中主要都是改編BASIC或專用於資料庫數據訪問的語言,但是隨著編程者的外語能力提升,現時的有關開發很少。
由於匯編語言依賴於硬體體系,且助記符量大難記,於是人們又發明了更加易用的所謂高級語言。在這種語言下,其語法和結構更類似漢字或者普通英文,且由於遠離對硬體的直接操作,使得一般人經過學習之後都可以編程。高級語言通常按其基本類型、代系、實現方式、應用范圍等分類。
機器語言:
機器語言(machine language)是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的數據。
機器碼有時也被稱為原生碼(Native Code),這個名詞比較強調某種編程語言或庫,它與運行平台相關的部份。