對字首表示式求值,要從右至左掃瞄表示式,首先從右邊第乙個字元開始判斷,若當前字元是數字則一直到數字串的末尾再記錄下來,若為運算子,則將右邊離得最近的兩個「數字串」作相應運算,然後以此作為乙個新的「數字串」並記錄下來;掃瞄到表示式最左端時掃瞄結束,最後運算的值即為表示式的值。
例如:對中綴表示式 1+((2+3)*4)-5 轉換為字首表示式:(- + 1 * + 2 3 4 5)並對 這個字首表示式進行求值,首先從右向左掃瞄,檢測到數字5 直接入棧,同理4 3 2 亦入棧,這時檢測到符號+ ,將棧頂兩元素(2,3)出棧並進行對應運算,得值5入棧,現在棧中元素為 5 4 5,下面檢測到符號*,即將棧頂(5,4)出棧相乘得20入棧,將數字 1 入棧,檢測到符號+ 將(1,20)出棧得 21 入棧,檢測到符號-,將棧中元素(21,5)出棧 得16,即完成運算。
字首表示式 與 字尾表示式
在計算機程式設計中,我們使用字首或字尾表示式進行運算往往比中綴簡單 中綴表示式 1 2 3 4 5 字首表示式 1 2 3 4 5 字尾表示式 1 2 3 4 5 對於字首表示式 1 2 3 4 5,這裡的字首指的是運算符號字首,1 2 3 4 5 2 3 4 1 5可見連括號都省了。程式設計運算字...
中綴表示式 字首表示式 字尾表示式
中綴表示式 中綴記法 中綴表示式是一種通用的算術或邏輯公式表示方法,操作符以中綴形式處於運算元的中間。中綴表示式是人們常用的算術表示方法。雖然人的大腦很容易理解與分析中綴表示式,但對計算機來說中綴表示式卻是很複雜的,因此計算表示式的值時,通常需要先將中綴表示式轉換為字首或字尾表示式,然後再進行求值。...
中綴表示式 字尾表示式 字首表示式
正如我們常常潛意識認為我們所說的數字都是十進位制,對於數字的其他進製感覺不正確一樣,其實只是我們不熟悉而已,其他進製其實也不過就是一種對資料的表達方式而已。對於我們的表示式也是一樣。eg 表示式2 3 5 7 我們上面所看到的也就是我們平時常用的書寫表示式的方式就是我們所謂的 中綴表示式 字首表示式...