계산기와 리코더

RPN 계산기 사용법

RPN(후위 표기법)을 사용하는 계산기는 일반 계산기와는 사칙연산 계산 방법이 다릅니다. 이 글에서는 대표적인 RPN 계산기인 HP-42S를 예로 들어 RPN 계산기로 계산하는 방법에 대하여 설명합니다.

목차

HP-42S 에뮬레이터 설치

HP-42S의 에뮬레이터 중에는 Free42라는 걸출한 에뮬레이터가 있습니다. 윈도우나 안드로이드, iOS용 중 하나를 다운로드받아서 실행하시면 됩니다. 윈도우용을 다운받았다면 Free42Decimal.exe를 선택하여 실행합시다.

또는 웹사이트에서 Free42를 사용할 수도 있습니다. Free42 Web으로 들어가시면 됩니다.

아래와 같은 화면이 나온다면 성공한 겁니다. 이제부터 HP-42S를 사용하면서 RPN 계산기의 간단한 사용법을 알아가도록 합시다.

HP-42S 첫걸음

HP-42S를 처음 켜면 화면에 X:0.0000과 Y:0.0000이 보입니다.(위 이미지를 참고하세요.) 이곳에서 계산을 합니다.

HP-42S를 잘 살펴보면 보통 계산기와는 조금 다르게 생겼습니다. = 키가 없고 대신 ENTER 키가 있습니다. 1+2를 계산해 봅시다. 1 + 2 ENTER 를 누르면 아래와 같이 3이 나오지 않습니다.

이것은 RPN이 일반 계산기의 식 입력 방식과 완전히 다르기 때문입니다. 먼저 RPN을 맛봅시다. 위에서 누른 키 순서 대신에 1 ENTER 2 + 순서대로 눌러 봅시다.

그러면 X에 3이 표시됩니다. 이것이 RPN으로 계산하는 방법입니다. RPN은 후위 표기법이라고도 불리며 연산자가 가장 마지막에 입력된다는 점이 특징입니다.

계산을 몇 개 더 해 봅시다. 3+4+5를 계산하려면 3 ENTER 4 + 5 + 순서대로 누르면 됩니다. X에는 결과인 12가 표시됩니다. 이제 느낌이 오시나요?

RPN 계산기의 구조

RPN 계산기는 스택을 활용하여 식을 계산합니다. 스택에는 수를 저장할 수 있습니다. 스택은 쌓아 놓은 접시라고 생각하면 편합니다. 상대적으로 나중에 놓인 접시를 먼저 꺼낼 수 있습니다.

전통적인 RPN 계산기는 X, Y, Z, T의 4스택 구조를 사용합니다. 각각의 스택은 X 레지스터, Y 레지스터, Z 레지스터, T 레지스터라고 불립니다.

HP-42S의 화면에는 공간이 부족하여 X와 Y 레지스터의 수만 표시합니다. HP-42S보다 이전에 출시된 RPN 계산기에서는 X 레지스터만 표시하는 경우가 많습니다.

사칙연산 계산하기

위에서 보았듯이 사칙연산을 계산하는 것은 그리 어렵지 않습니다. 계산할 수 두 개를 스택에 넣어 놓고 + 혹은 - , × , ÷ 를 누른다고 생각하면 편합니다.

그래도 아직은 RPN의 연산 순서가 익숙하지 않으실 것 같습니다. 다행히 쉽게 기억하는 법이 있습니다. 예를 들어 1+2를 계산한다고 해 봅시다. 이 식은 1 더하기 2로도 읽을 수 있지만 1에 2를 더한다라고도 읽을 수 있습니다.

1에 2를 더한다라고 말하는 것이 RPN의 연산 순서입니다. 1에 2를 더한다(+), 즉 1 ENTER 2 + 순서입니다. 여기서 ENTER 의 용도는 계산기에게 더하기를 하기 위에 1을 (스택에) 저장해 놓는다고 알려 주는 것입니다.

이제 조금 더 복잡한 식을 계산해 봅시다. (1+3)×5는 어떻게 계산할까요?

위에서 했던 것처럼 말로 풀어 써 봅시다. 1에 3을 더하고 5를 곱하면 됩니다. 1 ENTER 3 + 5 × 처럼 입력하면 됩니다. 결과는 20으로 잘 나옵니다.

1+3×5도 계산해 봅시다. 이 식을 계산하는 방법은 두 가지가 있습니다. 먼저 3에 5를 곱하고 1을 더하는 방식입니다. 3 ENTER 5 × 1 + 처럼 계산하면 됩니다.

1에 3에 5를 곱하고 더한다라는 방식도 생각할 수 있습니다. 이 경우에는 키를 누르는 순서가 1 ENTER 3 ENTER 5 × + 가 됩니다. 계산 결과는 당연히 위와 똑같습니다.

루트, 삼각함수, 로그 계산하기

루트, 삼각함수, 로그 등을 계산할 때에는 루트, 삼각함수, 로그 안에 들어가는 수를 먼저 입력하고 나중에 루트, 삼각함수, 로그 키를 입력해야 합니다.

예를 들어 $\ln{3}$은 3 LN 처럼 입력합니다. $\ln{3} \sim 1.0986$입니다.

루트와 sin, cos, tan 등도 동일하게 계산할 수 있습니다.

스택 조작하기

식을 계산하다 보면 동일한 수가 여러 번 필요할 때가 있습니다. 이때 ENTER (Dup)를 누르면 X 레지스터의 수를 Y 레지스터로 복사하고 Y 레지스터의 값은 Z 레지스터로, Z 레지스터의 값은 T 레지스터로 이동합니다. T 레지스터의 값은 사라집니다. {x y z t} → {x x y z}가 된다고 생각하면 편합니다.

아래와 같이 X 레지스터에 4.4721이 있을 때 ENTER 를 누르면 Y 레지스터에도 4.4721이 들어갑니다.

X<>Y (Swap)는 X 레지스터와 Y 레지스터의 값을 서로 교환합니다. {x y z t} → {y x z t}가 됩니다.

R↓ (Roll down)는 레지스터의 값들을 아래로 내립니다. T→Z, Z→Y, Y→X, X→T처럼 레지스터의 값을 이동시킵니다. 즉 {x y z t} → {y z t x}입니다.

BINUBALL
작성자: BINUBALL
공학용 계산기와 리코더에 관심이 많은 사람입니다. 현재는 fx-570ES PLUS, fx-570EX, fx-9860G3 등의 계산기 사용법을 주로 올리고 있습니다. 자세한 내용은 프로필을 참고하시길 바랍니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

글 검색하기

카테고리

태그

글 아카이브