編程邏輯類型
① 編程中有那些邏輯運算指令
1.算術運算符
Java的算術運算符分為一元運算符和二元運算符。一元運算符只有一個操作數;二元運算符有兩個操作數,運算符位於兩個操作數之間。算術運算符的操作數必須是數值類型。
(1)一元運算符:
一元運算符有:正(+)、負(-)、加1(++)和減1(--)4個。
加1、減1運算符只允許用於數值類型的變數,不允許用於表達式中。加1、減1運算符既可放在變數之前(如++i),也可放在變數之後(如i++),兩者的差別是:如果放在變數之前(如++i),則變數值先加1或減1,然後進行其他相應的操作(主要是賦值操作);如果放在變數之後(如i++),則先進行其他相應的操作,然後再進行變數值加1或減1。
例如:
int i=6,j,k,m,n;
j = +i; //取原值,即j=6
k = -i; //取負值,即k=-6
m = i++; //先m=i,再i=i+1,即m=6,i=7
m = ++i; //先i=i+1,再m=i,即i=7,m=7
n = j--; //先n=j,再j=j-1,即n=6,j=5
n = --j; //先j=j-1,再n=j,即j=5,n=5
在書寫時還要注意的是:一元運算符與其前後的操作數之間不允許有空格,否則編譯時會出錯。
(2)二元運算符
二元運算符有:加(+)、減(-)、乘(*)、除(/)、取余(%)。其中+、-、*、/完成加、減、乘、除四則運算,%是求兩個操作數相除後的余數。
%求余操作舉例:
a % b = a - (a / b) * b
取余運算符既可用於兩個操作數都是整數的情況,也可用於兩個操作數都是浮點數(或一個操作數是浮點數)的情況。當兩個操作數都是浮點數時,例如7.6 % 2.9時,計算結果為:7.6 - 2 * 2.9 = 1.8。
當兩個操作數都是int類型數時,a%b的計算公式為:
a % b = a - (int)(a / b) * b
當兩個操作數都是long類型(或其他整數類型)數時,a%b的計算公式可以類推。
當參加二元運算的兩個操作數的數據類型不同時,所得結果的數據類型與精度較高(或位數更長)的那種數據類型一致。
例如:
7 / 3 //整除,運算結果為2
7.0 / 3 //除法,運算結果為2.33333,即結果與精度較高的類型一致
7 % 3 //取余,運算結果為1
7.0 % 3 //取余,運算結果為1.0
-7 % 3 //取余,運算結果為-1,即運算結果的符號與左操作數相同
7 % -3 //取余,運算結果為1,即運算結果的符號與左操作數相同
2.關系運算符
關系運算符用於比較兩個數值之間的大小,其運算結果為一個邏輯類型的數值。關系運算符有六個:等於(==)、不等於(!=)、大於(>)、大於等於(>=)、小於(<)、小於等於(<=)。
例如:
9 <= 8 //運算結果為false
9.9 >= 8.8 //運算結果為true
'A' < 'a' //運算結果為true,因字元'A'的Unicode編碼值小於字元'a'的
要說明的是,對於大於等於(或小於等於)關系運算符來說,只有大於和等於兩種關系運算都不成立時其結果值才為false,只要有一種(大於或等於)關系運算成立其結果值即為true。例如,對於9 <= 8,9既不小於8也不等於8,所以9 <= 8 的運算結果為false。對於9 >= 9,因9等於9,所以9 >= 9的運算結果為true。
3.邏輯運算符
邏輯運算符要求操作數的數據類型為邏輯型,其運算結果也是邏輯型值。邏輯運算符有:邏輯與(&&)、邏輯或(||)、邏輯非(!)、邏輯異或(^)、邏輯與(&)、邏輯或(|)。
真值表是表示邏輯運算功能的一種直觀方法,其具體方法是把邏輯運算的所有可能值用表格形式全部羅列出來。Java語言邏輯運算符的真值表如下:
邏輯運算符的真值表
A B A&&B A||B !A A^B A&B A|B
false false false false true false false false
true false false true false true false true
false true false true true true false true
true true true true false false true true
前兩列是參與邏輯運算的兩個邏輯變數,共有4種可能,所以表2.5共有4行。後6列分別是6個邏輯運算符在邏輯變數A和邏輯變數B取不同數值時的運算結果值。
要說明的是,兩種邏輯與(&&和&)的運算規則基本相同,兩種邏輯或(||和|)的運算規則也基本相同。其區別是:&和|運算是把邏輯表達式全部計算完,而&&和||運算具有短路計算功能。所謂短路計算,是指系統從左至右進行邏輯表達式的計算,一旦出現計算結果已經確定的情況,則計算過程即被終止。對於&&運算來說,只要運算符左端的值為false,則因無論運算符右端的值為true或為false,其最終結果都為false。所以,系統一旦判斷出&&運算符左端的值為false,則系統將終止其後的計算過程;對於 || 運算來說,只要運算符左端的值為true,則因無論運算符右端的值為true或為false,其最終結果都為true。所以,系統一旦判斷出|| 運算符左端的值為true,則系統將終止其後的計算過程。
例如,有如下邏輯表達式:
(i>=1) && (i<=100)
此時,若i等於0,則系統判斷出i>=1的計算結果為false後,系統馬上得出該邏輯表達式的最終計算結果為false,因此,系統不繼續判斷i<=100的值。短路計算功能可以提高程序的運行速度。
作者建議讀者:在程序設計時使用&&和||運算符,不使用&和|運算符。
用邏輯與(&&)、邏輯或(||)和邏輯非(!)可以組合出各種可能的邏輯表達式。邏輯表達式主要用在 if、while等語句的條件組合上。
例如:
int i = 1;
while(i>=1) && (i<=100) i++; //循環過程
上述程序段的循環過程將i++語句循環執行100次。
4.位運算符
位運算是以二進制位為單位進行的運算,其操作數和運算結果都是整型值。
位運算符共有7個,分別是:位與(&)、位或(|)、位非(~)、位異或(^)、右移(>>)、左移(<<)、0填充的右移(>>>)。
位運算的位與(&)、位或(|)、位非(~)、位異或(^)與邏輯運算的相應操作的真值表完全相同,其差別只是位運算操作的操作數和運算結果都是二進制整數,而邏輯運算相應操作的操作數和運算結果都是邏輯值。
位運算示例
運算符 名稱 示例 說明
& 位與 x&y 把x和y按位求與
| 位或 x|y 把x和y按位求或
~ 位非 ~x 把x按位求非
^ 位異或 x^y 把x和y按位求異或
>> 右移 x>>y 把x的各位右移y位
<< 左移 x<<y 把x的各位左移y位
>>> 右移 x>>>y 把x的各位右移y位,左邊填0
舉例說明:
(1)有如下程序段:
int x = 64; //x等於二進制數的01000000
int y = 70; //y等於二進制數的01000110
int z = x&y //z等於二進制數的01000000
即運算結果為z等於二進制數01000000。位或、位非、位異或的運算方法類同。
(2)右移是將一個二進制數按指定移動的位數向右移位,移掉的被丟棄,左邊移進的部分或者補0(當該數為正時),或者補1(當該數為負時)。這是因為整數在機器內部採用補碼表示法,正數的符號位為0,負數的符號位為1。例如,對於如下程序段:
int x = 70; //x等於二進制數的01000110
int y = 2;
int z = x>>y //z等於二進制數的00010001
即運算結果為z等於二進制數00010001,即z等於十進制數17。
對於如下程序段:
int x = -70; //x等於二進制數的11000110
int y = 2;
int z = x>>y //z等於二進制數的11101110
即運算結果為z等於二進制數11101110,即z等於十進制數-18。要透徹理解右移和左移操作,讀者需要掌握整數機器數的補碼表示法。
(3)0填充的右移(>>>)是不論被移動數是正數還是負數,左邊移進的部分一律補0。
5.其他運算符
(1)賦值運算符與其他運算符的簡捷使用方式
賦值運算符可以與二元算術運算符、邏輯運算符和位運算符組合成簡捷運算符,從而可以簡化一些常用表達式的書寫。
賦值運算符與其他運算符的簡捷使用方式
運算符 用法 等價於 說明
+= s+=i s=s+i s,i是數值型
-= s-=i s=s-i s,i是數值型
*= s*=i s=s*i s,i是數值型
/= s/=i s=s/i s,i是數值型
%= s%=i s=s%i s,i是數值型
&= a&=b a=a&b a,b是邏輯型或整型
|= a|=b a=a|b a,b是邏輯型或整型
^= A^=b a=a^b a,b是邏輯型或整型
<<= s<<=i s=s<<i s,i是整型
>>= s>>=i s=s>>i s,i是整型
>>>= s>>>=i s=s>>>i s,i是整型
(2)方括弧[]和圓括弧()運算符
方括弧[]是數組運算符,方括弧[]中的數值是數組的下標,整個表達式就代表數組中該下標所在位置的元素值。
圓括弧()運算符用於改變表達式中運算符的優先順序。
(3)字元串加(+)運算符
當操作數是字元串時,加(+)運算符用來合並兩個字元串;當加(+)運算符的一邊是字元串,另一邊是數值時,機器將自動將數值轉換為字元串,這種情況在輸出語句中很常見。如對於如下程序段:
int max = 100;
System.out.println("max = "+max);
計算機屏幕的輸出結果為:max = 100,即此時是把變數max中的整數值100轉換成字元串100輸出的。
(4)條件運算符(?:)
條件運算符(?:)的語法形式為:
<表達式1> ?<表達式2> : <表達式3>
條件運算符的運算方法是:先計算<表達式1>的值,當<表達式1>的值為true時,則將<表達式2>的值作為整個表達式的值;當<表達式1>的值為false時,則將<表達式3>的值作為整個表達式的值。如:
int a=1,b=2,max;
max = a>b?a:b; //max等於2
(5)強制類型轉換符
強制類型轉換符能將一個表達式的類型強制轉換為某一指定數據類型,其語法形式為:
(<類型>)<表達式>
(6)對象運算符instanceof
對象運算符instanceof用來測試一個指定對象是否是指定類(或它的子類)的實例,若是則返回true,否則返回false。
(7)點運算符
點運算符「.」的功能有兩個:一是引用類中成員,二是指示包的層次等級。
6.運算符的優先順序
以下按優先順序從高到低的次序列出Java語言中的所有運算符,表中結合性一列中的「左?右」表示其運算次序為從左向右,「右?左」表示其運算次序為從右向左。
優先順序 運算符 結合性
1 . [] () ; ,
2 ++ ―― += ! ~ +(一元) -(一元) 右?左
3 * / % 左?右
4 +(二元) -(二元) 左?右
5 << >> >>> 左?右
6 < > <= >= instanceof 左?右
7 = = != 左?右
8 & 左?右
9 ^ 左?右
10 | 左?右
11 && 左?右
12 || 左?右
13 ?: 右?左
14 = *= /= %= += -= <<= >>= >>>= &= ^= |= 右?左
② 什麼是編程的邏輯思維啊 能不能解釋一下啊
"編程的邏輯思維"就是你想問題從哪個方面考慮.也就是總體想法.看到這個題目:舉個例子如何求 1!+2!+3!+……15!
,你就應該要考慮.這個式子有什麼規律.有這幾個規律:
1.每個數字都是階乘.
2.數字都是每個+1.循序漸進.
3.式子要求總和
然後,你就要用到兩個循環.
1) 數字的循環用條件語句:if(數字<=15) 數字++;
2) 內循環就是用到階乘 ,數字*(數字+1);
③ 編程中 游戲中的邏輯類~是不是都是單線程的
你做夢呢。單線程做就等死吧。
你既然知道信息處理可以多線程,為什麼不考慮信息實例也是多線程呢。不同牌局就有不同的「牌局」實例。
對於同一個實例來說,也可以多線程操作啊,就像一副牌可以四個人打,但是同一時刻只能有一個人出牌一樣,只要通過同步技術保證同一時刻只有一個線程操作牌局就可以了。實際中統一變數多線程操作很常見,只不過每個線程操作時都會對資源進行鎖定,保證自己的獨占訪問。
稍微學下多線程編程就知道了。
④ 編程有幾種類型
編程語言的種類繁多,總的來說分為機器語言、匯編語言以及高級語言三大類。
機械語言(machine language):計算機可直接識別、運行的二進制代碼,執行速度快,資源佔用少,但可讀性不強,編程復雜;
匯編語言(assembly language):一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。目標代碼簡短,佔用內存少,執行速度快,但缺乏可移植性,編程復雜;
高級語言(High-level programming language):相對於機器語言以及匯編語言,高級語言的可讀性強,可移植性高,一般通過事先編好的一個叫做編譯程序的機器語言程序編譯成用機器指令表示的目標程序。現在流行的高級語言有Java、C語言、C++、C#、Pascal、Basic等等。
(4)編程邏輯類型擴展閱讀:
計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。
這種將高級程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
解釋方式下,計算機對高級語言書寫的源程序一邊解釋一邊執行,不能形成目標文件和執行文件。
編譯方式下,首先通過一個對應於所用程序設計語言的編譯程序對源程序進行處理,經過對源程序的詞法分析、語法分析、語意分析、代碼生成和代碼優化等階段將所處理的源程序轉換為用二進制代碼表示的目標程序,然後通過連接程序處理將程序中所用的函數調用、系統功能調用等嵌入到目標程序中,構成一個可以連續執行的二進制執行文件。調用這個執行文件就可以實現程序員在對應源程序文件中所指定的相應功能。
⑤ 可編程邏輯器件的分類
邏輯器件可分為兩大類 - 固定邏輯器件和可編程邏輯器件。 一如其名,固定邏輯器件中的電路是永久性的,它們完成一種或一組功能 - 一旦製造完成,就無法改變。 另一方面,可編程邏輯器件(PLD)是能夠為客戶提供范圍廣泛的多種邏輯能力、特性、速度和電壓特性的標准成品部件 - 而且此類器件可在任何時間改變,從而完成許多種不同的功能。
對於固定邏輯器件,根據器件復雜性的不同,從設計、原型到最終生產所需要的時間可從數月至一年多不等。 而且,如果器件工作不合適,或者如果應用要求發生了變化,那麼就必須開發全新的設計。 設計和驗證固定邏輯的前期工作需要大量的「非重發性工程成本」,或NRE。 NRE表示在固定邏輯器件最終從晶元製造廠製造出來以前客戶需要投入的所有成本,這些成本包括工程資源、昂貴的軟體設計工具、用來製造晶元不同金屬層的昂貴光刻掩模組,以及初始原型器件的生產成本。 這些NRE成本可能從數十萬美元至數百萬美元。
對於可編程邏輯器件,設計人員可利用價格低廉的軟體工具快速開發、模擬和測試其設計。 然後,可快速將設計編程到器件中,並立即在實際運行的電路中對設計進行測試。 原型中使用的PLD器件與正式生產最終設備(如網路路由器、ADSL數據機、DVD播放器、或汽車導航系統)時所使用的PLD完全相同。 這樣就沒有了NRE成本,最終的設計也比採用定製固定邏輯器件時完成得更快。
採用PLD的另一個關鍵優點是在設計階段中客戶可根據需要修改電路,直到對設計工作感到滿意為止。 這是因為PLD基於可重寫的存儲器技術--要改變設計,只需要簡單地對器件進行重新編程。 一旦設計完成,客戶可立即投入生產,只需要利用最終軟體設計文件簡單地編程所需要數量的PLD就可以了。
可編程邏輯器件的兩種主要類型是現場可編程門陣列(FPGA)和復雜可編程邏輯器件(PLD)。 在這兩類可編程邏輯器件中,FPGA提供了最高的邏輯密度、最豐富的特性和最高的性能。 現在最新的FPGA器件,如Xilinx Virtex系列中的部分器件,可提供八百萬系統門(相對邏輯密度)。 這些先進的器件還提供諸如內建的硬連線處理器(如IBM Power PC)、大容量存儲器、時鍾管理系統等特性,並支持多種最新的超快速器件至器件(device-to-device)信號技術。 FPGA被應用於范圍廣泛的應用中,從數據處理和存儲,以及到儀器儀表、電信和數字信號處理等。
與此相比,PLD提供的邏輯資源少得多 - 最高約1萬門。 但是,PLD提供了非常好的可預測性,因此對於關鍵的控制應用非常理想。 而且如Xilinx CoolRunner系列PLD器件需要的功耗極低。
⑥ 編程分哪幾種
你說的是編程語言嗎? 請看下面各種語言的描述 * CSS Cascading Style Sheets 層疊樣式表 * .NET 是微軟2002年,為開發應用程序創建的一個富有革命性的新平台 * ActionScript ActionScript是Flash的腳本語言,與JavaScript相似,ActionScript是一種面向對象編程語言。 * APL、A+和J * Ada Ada是一種表現能力很強的通用程序設計語言 * 匯編語言 匯編語言(Assembly Language)是面向機器的程序設計語言 *易語言是全中文語言編程中最為強大的一個編程語言 * AWK AWK是一種優良的文本處理工具 * Basic 是一種設計給初學者使用的程序設計語言 o QBasic QBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初學者通用指令代碼)語言的一個變種,由美國微軟公司開發 o Visual Basic Visual Basic(VB)是一種由微軟公司開發的包含協助開發環境的事件驅動編程語言 * VBScript VBScript是Visual Basic Script的簡稱,即 Visual Basic 腳本語言 * Brainfuck Brainfuck是一種極小化的計算機語言 * C、C++ 、C# C語言是一種面向過程的計算機程序設計語言 ; C++是一種靜態數據類型檢查的,支持多重編程範式的通用程序設計語言。它支持過程化程序設計、數據抽象、面向對象程序設計、製作圖標等等泛型程序設計等多種程序設計風格。C#是微軟公司發布的一種面向對象的、運行於.NET Framework之上的高級程序設計語言。 o Objective-C 通常寫作ObjC和較少用的Objective C或Obj-C,是擴充C的面向對象編程語言 * Clipper Clipper晶元主要用於商業活動的計算機通信網 * COBOL 一種適合於商業及數據處理的類似英語的程序設計語言 * dBase dBASE是第一個在微型計算機上被廣泛使用的資料庫管理系統(DBMS * PASCAL、Delphi Pascal是一種計算機通用的高級程序設計語言 ;Delphi是全新的可視化編程環境,是一種方便、快捷的Windows應用程序開發工具 * Forth 由Charles H. Moore發展出來在天文台使用的電腦自動控制系統及程序設計語言,允許使用者很容易組合系統已有的簡單指令,定義成為功能較復雜的高階指令。 * Fortran 譯為「公式翻譯器」,它是世界上最早出現的計算機高級程序設計語言,廣泛應用於科學和工程計算領域。 * FoxPro 是由美國Fox Software公司於1988年推出的資料庫產品 * F# F#是由微軟發展的為微軟.NET語言提供運行環境的程序設計語言 * Fava Fava語言是一個小型的解釋語言,它主要面向於系統測試領域及小型嵌入式設備。 * IDL IDL 是一種數據分析和圖像化應用程序及編程語言 * Java Java是由Sun Microsystems公司於1995年5月推出的Java程序設計語言,他是一種面向對象的跨平台語言,可以在多種平台上運行。支持開源。大量的類庫。大量的開源項目。是一種非常強大的編程語言! * JavaScript Javascript是一種由Netscape的LiveScript發展而來的腳本語言 * J# Visual J# 是一種工具,供 Java 語言程序員用於構建在 .NET Framework 上運行的應用程序和服務 * LISP 一種基於λ演算的函數式編程語言。 * Lua Lua 是一個小巧的腳本語言 * LOGO 是一種早期的編程語言,也是一種與自然語言非常接近的編程語言,它通過「繪圖」的方式來學習編程 * Mole 在軟體工程中,指較高一級程序或模塊使用的一個單元或模塊 * Nuva Nuva語言是一種面向對象的動態腳本語言 Nuva語言的設計目的是用於基於模板的代碼生成 * Perl Perl 一般被稱為「實用報表提取語言」(PracticalExtraction andReportLanguage),也做「病態折中垃圾列表器」(PathologicallyEclectic Rubbish Lister * PHP PHP 是一種 HTML 內嵌式的語言 * PL/I PL/I是Programming Language One的簡寫。當中的「I」其實是羅馬數字的「一」。它是一隻IBM公司在1950年代發明的第三代高級編程語言 * Prolog Prolog(Programming in Logic的縮寫)是一種邏輯編程語言 * Python 是一種面向對象的解釋性的計算機程序設計語言,也是一種功能強大而完善的通用型語言 * R R是用於統計分析、繪圖的語言和操作環境 * Ruby Ruby,一種為簡單快捷面向對象編程(面向對象程序設計)而創的腳本語言 * Scheme Scheme,一種系統設計語言,由LISP語言發展而來,屬於lisp的一種方言。與其他lisp不同的是,scheme是可以編譯成機器碼的。 Scheme的一個主要特性是可以像操作數據一樣操作函數調用 * Smalltalk 一種面向對象的程序設計語言 一種程序設計環境 一個應用開發環境(ADE) * Tcl/Tk 是一種 腳本語言 * Visual FoxPro Visual FoxPro原名FoxBase,是美國Fox Software公司推出的資料庫產品
⑦ JAVA中什麼叫」邏輯類型,浮點型,整型「
邏輯類型 boolean
文本類型 char
整數類型 byte,short,int,long
浮點類型 double,float
boolean 兩個值:true and false
char 16位無符號(不分正負的)Unicode字元 必須包含在單引號內(』』)
eg:』\t』 表示一個製表符
』\u????』 表示一個特殊的Unicode字元 ????應嚴格按照4個16進制數進行替換.
String 不是一個簡單的數據類型 而是一個類(class) 它被用來表示字元序列.字元本身符合Unicode標准
且上述char類型的反斜線符號適用於String.
與c and c++ 不同,String不能用』\o』作為結束.(本來要寫』\零』的,可是它就是不顯示,沒招兒了,就用o來代替吧~~)
byte short int long
在數據後面直接跟一個字母"L".L表示這是一個long型數值.在Java編程語言中L無論是大寫還是小寫都同樣有效,但由於小寫l與數字1容易混淆,因而,使用小寫不是一個明智的選擇.
整型數據的長度和數值范圍
----------------------------------------------------------------------------------------------------------------------
長度 數據類型 數值范圍
----------------------------------------------------------------------------------------------------------------------
8 bits byte -2(7)~2(7)-1
16 bits short -2(15)~2(15)-1
32 bits int -2(31)~2(31)-1
64 bits long -2(63)~2(63)-1
---------------------------------------------------------------------------------------------------------------------
float double
數值包含小數點或指數,或者在數字後面帶有字母F or f(float), D or d(double)
浮點型數據的長度和數值范圍
----------------------------------------------------------------------------------------------------------------------
長度 數據類型 數值范圍
----------------------------------------------------------------------------------------------------------------------
32 bits float 1.401e-45~3.402e+38
64 bits long 4.Array4e-324~1.7Arraye+308d
----------------------------------------------------------------------------------------------------------------------
⑧ 可編程邏輯控制器的類型都有哪些
可編程邏輯控制器按結構分為整體型和模塊型兩類,按應用環境分為現場安裝和控制室安裝兩類;按CPU字長分為1位、4位、8位、16位、32位、64位等。從應用角度出發,通常可按控制功能或輸入輸出點數選型。<proinsight-br>
⑨ 在C++編程中,布爾型是邏輯型;那邏輯型又是什麼意思啊
邏輯型是一種抽象的類型,它是從事物事情中抽象出來的概念得到的一個類型,可以這樣理解:一個事情有「是」或者「不是」兩種狀態,也可以理解成「真」或者「假」,所以邏輯型也就是你說的布爾型只有真(true)或假(false)兩種取值。這在編程方面的好處很大。我們知道,計算機採用二進製表示法,一個帶電位可以有帶電或不帶電兩種狀態,正好對應邏輯型的兩種取值。這樣,使用邏輯型就可以將這樣的問題用計算機的模式解決了。以上是我個人的理解,反正是這么個意思。
⑩ C語言的子程序有哪幾種,什麼是邏輯類型集合類型什麼是C語言用戶標識符
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。