汇编(四则运算 表达式求值)
汇编中四则运算中加减乘除是以ASCII码的形式存放的,这样的话是不是就不能处理与这些运算符的ASCII码值相同的操作数了啊?
如:中缀表达式 1+2*3 , 存放在内存中的话应该是 31 2B(+的ASCII码) 32 2A(*的ASCII码) 33
如果做如下改动: 42 + 2 * 3 , 存放在内存中的话应该是 2A 2B(+的ASCII码) 32 2A(*的ASCII码) 33
这样第一个数2A就被判断为 * 的ASCII码了!
对于这种情况应该怎么处理啊?(即如何将运算符* 和操作数 42 区分开)?谢谢哈~~
[解决办法]
既然用ASCII码表示,就得统一,42就该表示成:34 32,而不是2A。