Обратная польская запись (RPN)

Автор: John Stephens
Дата создания: 28 Январь 2021
Дата обновления: 29 Июнь 2024
Anonim
Обратная польская запись
Видео: Обратная польская запись

Содержание

Определение - Что означает обратная польская запись (RPN)?

Обратная польская запись (RPN) - это метод передачи математических выражений без использования разделителей, таких как скобки и скобки. В этой нотации операторы следуют за своими операндами, что устраняет необходимость в скобках для определения приоритета оценки. Операция читается слева направо, но выполнение выполняется каждый раз, когда достигается оператор, и всегда использует последние два числа в качестве операндов. Эта нотация подходит для компьютеров и калькуляторов, так как меньше отслеживаемых символов и меньше выполняемых операций.


Обратная польская запись также известна как постфиксная запись.

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Техопедия объясняет обратную польскую запись (RPN)

Обратная польская запись была предложена Берксом, Уорреном и Райтом в 1954 году и названа так потому, что это была просто обратная польская запись (префиксная запись), придуманная польским логиком Яном Лукасевичем, которая ставит оператора перед операндами. В 1960-е годы он был независимо заново изобретен Э. В. Дейкстра и Ф. Л. Bauer для уменьшения количества обращений к памяти компьютера и повышения производительности. Он использовал стек компьютера для хранения своих операндов перед выполнением оператора.

RPN приводит к более быстрым вычислениям по нескольким причинам. Во-первых, информации для хранения меньше. Поэтому вместо того, чтобы хранить девять символов для выражения ((5 - 3) * 2), компьютеры, использующие RPN, должны хранить только пять символов с выражением 5 3 - 2 *. И поскольку для обработки требуется меньше символов, выполнение становится быстрее.


Таким образом, в компьютере, использующем RPN, оценка выражения 5 1 - 3 * выглядит следующим образом:

  1. Нажмите 5 в стек. Это первое значение.
  2. Нажмите 1 в стек. Это второе значение и находится на позиции выше 5.
  3. Примените операцию вычитания, взяв два операнда из стека (1 и 5). Верхнее значение (1) вычитается из значения ниже него (5), а результат (4) сохраняется обратно в стек. 4 теперь единственное значение в стеке и находится внизу.
  4. Нажмите 3 в стек. Это значение находится в позиции выше 4 в стеке.
  5. Примените операцию умножения, взяв последние два числа из стека и умножив их. Результат затем помещается обратно в стек. После этой операции стек теперь содержит только число 12.