<s>Human: 给定一个算数表达式，计算其结果。
算数表达式：50 + 2 * 3 / 4 - 8
</s><s>Assistant: 将表达式转化为逆波兰表达式：50 2 3 * 4 / + 8 -
按照逆波兰表达式的计算方法，从左到右扫描表达式，遇到数字就入栈，遇到运算符就弹出栈顶两个数字进行计算，将结果入栈，直到整个表达式扫描完毕，栈顶元素即为答案。

具体步骤如下：
1. 将50入栈。
2. 遇到2，将2入栈。
3. 遇到3，将3入栈。
4. 遇到*，弹出栈顶2和3，计算2*3=6，将6入栈。
5. 遇到4，将4入栈。
6. 遇到/，弹出栈顶6和4，计算6/4=1.5，将1.5入栈。
7. 遇到+，弹出栈顶1.5和50，计算1.5+50=51.5，将51.5入栈。
8. 遇到8，将8入栈。
9. 遇到-，弹出栈顶8和51.5，计算8-51.5=-43.5，将-43.5入栈。
10. 整个表达式扫描完毕，栈顶元素为-43.5，即为答案。

因此，算数表达式50 + 2 * 3 / 4 - 8的结果为-43.5。
</s>