Innehållsförteckning:
- Definition - Vad betyder Reverse Polish Notation (RPN)?
- Techopedia förklarar Reverse Polish Notation (RPN)
Definition - Vad betyder Reverse Polish Notation (RPN)?
Reverse Polish notation (RPN) är en metod för att förmedla matematiska uttryck utan att använda separatorer som parenteser och parenteser. I denna notering följer operatörerna sina operander och tar bort behovet av parenteser för att definiera utvärderingsprioritet. Operationen läses från vänster till höger men exekveringen görs varje gång en operatör nås och använder alltid de två sista numren som operander. Denna notering är lämplig för datorer och miniräknare eftersom det finns färre tecken att spåra och färre åtgärder att utföra.
Omvänd polsk notation är också känd som postfix notation.
Techopedia förklarar Reverse Polish Notation (RPN)
Omvänd polsk notation föreslogs av Burks, Warren och Wright 1954 och namngavs därför att det helt enkelt var motsatsen till polsk notation (prefixnotation), uppfunnet av den polska logikern Jan Lukasiewicz, som lägger operatören inför operanerna. På 1960-talet uppfanns det sedan självständigt av EW Dijkstra och FL Bauer för att minska antalet gånger datorminne har åtkomst och öka prestandan. Den använde datorns stack för att lagra dess operander innan han körde operatören.
RPN leder till snabbare beräkningar av några orsaker. Den ena är att det finns mindre information att lagra. I stället för att behöva lagra nio tecken för uttrycket ((5 - 3) * 2) behöver datorer som använder RPN bara lagra fem tecken med uttrycket 5 3 - 2 *. Och eftersom det är färre tecken att bearbeta blir körningen snabbare.
Så i en dator som använder RPN är utvärderingen av uttrycket 5 1 - 3 * enligt följande:
- Tryck 5 in i bunten. Detta är det första värdet.
- Tryck 1 i bunten. Detta är det andra värdet och är på läget ovanför 5.
- Använd subtraktionsoperationen genom att ta två operander från bunten (1 och 5). Toppvärdet (1) subtraheras från värdet under det (5), och resultatet (4) lagras tillbaka till bunten. 4 är nu det enda värdet i bunten och är i botten.
- Tryck 3 in i bunten. Detta värde är i läget ovanför 4 i bunten.
- Använd multiplikationsoperationen genom att ta de två sista siffrorna från bunten och multiplicera dem. Resultatet placeras sedan tillbaka i bunten. Efter denna operation innehåller bunten nu bara numret 12.
