教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

計算機(jī)語言:機(jī)器語言、編匯語言和高級語言

更新時間:2022年09月13日17時40分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

計算機(jī)擅長接受指令,但不能識別人類的語言,人類為保證計算機(jī)可以準(zhǔn)確地執(zhí)行指定的命令,需要使用計算機(jī)語言向計算機(jī)發(fā)送指令。計算機(jī)語言是用于編寫計算機(jī)指令,即編寫程序的語言,其本質(zhì)是根據(jù)事先定義的規(guī)則編寫的預(yù)定語句的集合。計算機(jī)語言分為3類:機(jī)器語言、匯編語言和高級語言。

1.機(jī)器語言

機(jī)器語言是由0、1組成的二進(jìn)制代碼表示的指令。這類語言可以被CPU直接識別,具有靈活、高效等特點。但機(jī)器語言有個不可忽視的缺點:可移植性差。各公司生產(chǎn)的不同系列、不同型號的計算機(jī)使用的機(jī)器語言是不同的,編程人員使用機(jī)器語言為一臺計算機(jī)編寫程序之前必須先熟記此臺計算機(jī)的全部指令代碼和代碼的含義,寫出的程序只能在同一款機(jī)器中使用,且不直觀、容易出錯,錯誤又難以定位。一段表示兩個整數(shù)相加的機(jī)器指令如下所示:

0001 1111 1110 1111
0010 0100 0000 1111
0001 1111 1110 1111
0010 0100 0001 1111
0001 0000 0100 0000
0001 0001 0100 0001
0011 0010 0000 0001
0010 0100 0010 0010
0001 1111 0100 0010
0010 1111 1111 1111
0000 0000 0000 0000

機(jī)器語言是第一代編程語言,早期的計算機(jī)語言只有機(jī)器語言,但如今已罕有人學(xué)習(xí)和使用。

2.匯編語言

匯編語言用帶符號或助記符的指令和地址代替二進(jìn)制代碼,因此匯編語言也被稱為符號語言。使用匯編語言編寫實現(xiàn)兩個整數(shù)相加的程序,具體代碼與說明如表1-1所示。

表1-1匯編代碼示例與說明

計算機(jī)編匯語言

表1-1所示的每一條匯編指令對應(yīng)前面所示的機(jī)器語言編寫的一行代碼。與機(jī)器語言相比,匯編語言的可讀性有所提高,但匯編語言是一種面向機(jī)器的低級語言,是一種為特定計算機(jī)或同系列計算機(jī)專門設(shè)計的語言。換言之,為一種設(shè)備編寫的匯編指令只能用于和此臺設(shè)備同系列、具有同型號CPU的設(shè)備中,可移植性仍然很差,對編程人員的要求仍然較高。但也正因為匯編語言與機(jī)器的相關(guān)性,它可以較好地發(fā)揮機(jī)器的特性。此外,匯編語言保持了機(jī)器語言的優(yōu)點,它也可以直接訪問和控制計算機(jī)硬件,占用內(nèi)存少,且執(zhí)行速度快。

匯編語言是第二代編程語言,在某些行業(yè)和領(lǐng)域中,匯編語言是必不可少的語言;對底層程序設(shè)計人員而言,匯編語言是必須了解的語言。需要注意的是,匯編語言無法被計算機(jī)識別,在執(zhí)行之前需要先使用被稱為“匯編程序”的特殊程序?qū)R編語言代碼翻譯成機(jī)器語言代碼。

3.高級語言

由于與硬件相關(guān)性較高,且符號與助記符量大又難以記憶,編程人員在開發(fā)程序之前需要花費(fèi)相當(dāng)多精力去了解、熟悉設(shè)備的硬件,以及目標(biāo)設(shè)備的助記符。為了從硬件中脫身,專注程序功能的研發(fā),提高程序開發(fā)效率,一些編程人員開始研究高級語言。高級語言與設(shè)備硬件結(jié)構(gòu)無關(guān),它更接近自然語言,對數(shù)據(jù)的運(yùn)算和程序結(jié)構(gòu)表述得更加清晰、直觀,人們閱讀、理解和學(xué)習(xí)編程語言的難度也大大降低。高級語言并非一種語言,而是諸多編程語言的統(tǒng)稱。常見的高級語言有Python、C、C++、Java、JavaScript、PHP、Basic、C#等。例如Python語言中,實現(xiàn)兩個整數(shù)相加的代碼具體如下:

num1 = int(input("加數(shù):"))     # 從鍵盤獲取內(nèi)容后轉(zhuǎn)換為整型,存入num1
num2 = int(input("被加數(shù):"))  # 從鍵盤獲取內(nèi)容后轉(zhuǎn)換為整型,存入num2
result = numl + num2            # 計算numl+num2,并將結(jié)果存入result
print (result)                  # 將結(jié)果result打印到屏幕

比較以上Python代碼與匯編代碼,顯然Python代碼更加簡潔直觀。此外高級語言的可移植性較好,程序開發(fā)人員在某一系列設(shè)備中使用高級語言編寫的程序,可以方便地移植到其他不同系列的設(shè)備中使用。

0 分享到:
和我們在線交談!