Ir para o conteúdo

Infixa para posfixa passo a passo, com a pilha de operadores

Converta uma expressão para a notação posfixa (polonesa reversa) vendo a pilha de operadores e a saída em cada passo.

  • Roda no seu navegador

Entrada

0 de 20.000 caracteres

Números, nomes, + - * / ^ e parênteses.

Resultado

O resultado aparece aqui.

Passo a passo da pilha

Digite uma expressão com números, nomes, + - * / ^ e parênteses. A ferramenta converte para a forma posfixa pelo algoritmo da pilha de operadores e mostra cada passo. Em 3 + 4 * 2 a saída é 3 4 2 * +, com valor 11.

PassoTokenAçãoPilhaSaída
13output(vazia)3
2+push+3
34output+3 4
4*push+ *3 4
52output+ *3 4 2
6*pop+3 4 2 *
7+pop(vazia)3 4 2 * +

Precedência

O menos unário vira neg e a potência associa à direita: 3 + 4 * 2 / (1 - 5) ^ 2 ^ 3 vira 3 4 2 * 1 5 - 2 3 ^ ^ / +, valendo 3,0001220703. Com nomes na expressão, só a conversão é feita (aviso not-evaluated).

Limites: infixa para posfixa passo a passo

  • Até 64 tokens; porcentagem, funções e pi não são convertidos.
  • Uma só expressão, sem atribuição.
  • O processamento acontece no seu navegador.

O que significam os avisos: infixa para posfixa passo a passo

  • Avisos: thousands-assumed (o ponto foi lido como milhar, como em 1.234), dot-decimal (o ponto foi lido como decimal, como em 1.5) e rounded (o valor mostrado foi arredondado) e not-evaluated (a expressão tem nomes e só foi convertida).

Perguntas frequentes

Como converter infixa para posfixa?

Digite a expressão e leia a coluna Saída do último passo; a tabela mostra cada passo da pilha.

Como montar a pilha de operadores na conversao?

Operandos vão direto para a saída; um operador espera na pilha até chegar outro de precedência menor (ou igual, nos operadores que associam à esquerda); a potência associa à direita, então ^ não tira outro ^ da pilha; parênteses são descartados.