字尾算式 9 2 3 + - 10 2 / - 的值是-1。
字尾表示式的計算方式是如果當前字元為變數或者為數字,則壓棧,如果是運算子,則將棧頂兩個元素彈出作相應運算,結果再入棧,最後當表示式掃描完後,棧裡的就是結果。
因此9 2 3 + - 10 2 / - 先將9 2 3 入棧,遇到 + 號,取出 2 3 相加,並將結果入棧,棧裡結果為
9 5,又遇到 - 號,同理,此時的棧裡結果為4,再入棧 10 2, 棧裡結果為4 10 2。遇到 / 號,棧裡結果變更為4 5。再遇到 - 號,棧裡結果變更為:- 1。字尾表示式結束,所以最終結果為 - 1。
https://iknow-pic.cdn.bcebos.com/8b13632762d0f703e5860a8a07fa513d2697c5b4
擴充套件資料:
字尾表示式中若當前字元為運算子且優先順序大於棧頂運算子,則進棧,否則退出棧頂運算子並將其傳送給字尾式。然後將當前運算子放入棧中。
對計算機而言中序表示式是非常複雜的結構。相對的,字尾表示式在計算機看來卻是比較簡單易懂的結構。因為計算機普遍採用的記憶體結構是棧式結構,它執行先進後出的順序。
字尾表示式的優點是根據運算物件和算符的出現次序進行計算,不需要使用括號,也便於用械實現求值。
字尾算式 9 2 3 + - 10 2 / - 的值是-1。
字尾表示式的計算方式是如果當前字元為變數或者為數字,則壓棧,如果是運算子,則將棧頂兩個元素彈出作相應運算,結果再入棧,最後當表示式掃描完後,棧裡的就是結果。
因此9 2 3 + - 10 2 / - 先將9 2 3 入棧,遇到 + 號,取出 2 3 相加,並將結果入棧,棧裡結果為
9 5,又遇到 - 號,同理,此時的棧裡結果為4,再入棧 10 2, 棧裡結果為4 10 2。遇到 / 號,棧裡結果變更為4 5。再遇到 - 號,棧裡結果變更為:- 1。字尾表示式結束,所以最終結果為 - 1。
https://iknow-pic.cdn.bcebos.com/8b13632762d0f703e5860a8a07fa513d2697c5b4
擴充套件資料:
字尾表示式中若當前字元為運算子且優先順序大於棧頂運算子,則進棧,否則退出棧頂運算子並將其傳送給字尾式。然後將當前運算子放入棧中。
對計算機而言中序表示式是非常複雜的結構。相對的,字尾表示式在計算機看來卻是比較簡單易懂的結構。因為計算機普遍採用的記憶體結構是棧式結構,它執行先進後出的順序。
字尾表示式的優點是根據運算物件和算符的出現次序進行計算,不需要使用括號,也便於用械實現求值。