120 likes | 200 Views
中置記法( IN ) → 後置記法( RPN ) 例) 1 + 2 * ( 3 - 4 ). 数字は stA へ 演算子 は st B へ. st A. st B. 中置記法( IN ) → 後置記法( RPN ) 例) 1 + 2 * ( 3 - 4 ). st A. st B. 1. 中置記法( IN ) → 後置記法( RPN ) 例) 1 + 2 * ( 3 - 4 ). st A. st B. 1. +. 中置記法( IN ) → 後置記法( RPN ) 例) 1 + 2 * ( 3 - 4 ). st A. st B. 2.
E N D
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) 数字はstAへ 演算子はstBへ stA stB
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 1
中置記法(IN) → 後置記法(RPN) 例) 1+ 2 * ( 3 - 4 ) stA stB 1 +
中置記法(IN) → 後置記法(RPN) 例) 1+2 * ( 3 - 4 ) stA stB 2 1 +
中置記法(IN) → 後置記法(RPN) 例) 1+2* ( 3 - 4 ) priority(“*”) > priority(“+”) * stA stB 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1+2*( 3 - 4 ) 左括弧はstBへ (ブロックの役割) stA stB ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1+2*(3- 4 ) stA stB 3 ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1+2*(3- 4 ) priority(“-”) > priority(“(”) - - stA stB 3 ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1+2*(3-4 ) 4 - stA stB 3 ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1+2*(3-4) 左括弧の上に積まれた演算子は,順にstAへ 左括弧が出現したら,右括弧と相殺 ) - 4 - stA stB 3 ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1+2*(3-4) stB: +,*,-,4,3,2,1 ※ RPNの逆順にsortされている 1個ずつ取り出す 1 2 - 3 4 4 stA stB 3 - 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1+2*(3-4) ↓ 1 2 3 4 - * + 1個ずつ取り出す 1 2 3 4 stB - * +