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

全國(guó)咨詢/投訴熱線:400-618-4000

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

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

好口碑IT培訓(xùn)

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

1.機(jī)器語(yǔ)言

機(jī)器語(yǔ)言是由0、1組成的二進(jìn)制代碼表示的指令。這類語(yǔ)言可以被CPU直接識(shí)別,具有靈活、高效等特點(diǎn)。但機(jī)器語(yǔ)言有個(gè)不可忽視的缺點(diǎn):可移植性差。各公司生產(chǎn)的不同系列、不同型號(hào)的計(jì)算機(jī)使用的機(jī)器語(yǔ)言是不同的,編程人員使用機(jī)器語(yǔ)言為一臺(tái)計(jì)算機(jī)編寫(xiě)程序之前必須先熟記此臺(tái)計(jì)算機(jī)的全部指令代碼和代碼的含義,寫(xiě)出的程序只能在同一款機(jī)器中使用,且不直觀、容易出錯(cuò),錯(cuò)誤又難以定位。一段表示兩個(gè)整數(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ī)器語(yǔ)言是第一代編程語(yǔ)言,早期的計(jì)算機(jī)語(yǔ)言只有機(jī)器語(yǔ)言,但如今已罕有人學(xué)習(xí)和使用。

2.匯編語(yǔ)言

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

表1-1匯編代碼示例與說(shuō)明

計(jì)算機(jī)編匯語(yǔ)言

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

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

3.高級(jí)語(yǔ)言

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

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

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

0 分享到:
和我們?cè)诰€交談!