레이블이 calculator인 게시물을 표시합니다. 모든 게시물 표시
레이블이 calculator인 게시물을 표시합니다. 모든 게시물 표시

2010년 12월 24일 금요일

XCALC 소스 공개되었네요.

꽤 오래 전에 XCALC라는 RPN 방식 계산기에 대해 글을 쓴 적이 있습니다. 한번 손에 익은 도구라서 그런지 간단히 계산할 일이 있으면 아직도 Windows의 기본 계산기 대신 XCALC를 사용하고 있지요. Emacs에 내장된 계산기(M-x calc)도 RPN 방식이라 더 그런가봅니다.

그런데, 오늘 오랜만에 XCALC 업데이트 확인 차 홈페이지 들렀다가 소스가 공개됐다는 사실을 알게 되었습니다. 특정 라이센스에 제한되지 않고(심지어 GNU 스타일에도) 어떤 방식으로든 원하는 대로 사용할 수 있다고 하니까 평소 계산기 구현에 관심이 있었던 분이라면 다운로드해서 살펴보는 것도 좋을 것 같습니다.

소스는 아마 요즘의 Microsoft Visual C++로도 빌드가 가능하겠지만 리소스를 변경하려면 적절한 수정이 필요할 것이라고 합니다. (저는 이 글을 쓰고 있는 시점에서 아직 빌드해보지 않았습니다.) XCALC를 개발한 분은 Borland C++ Compiler를 사용했다고 하는데, XCALC 홈페이지에서도 직접 다운로드할 수 있습니다.

2007년 1월 20일 토요일

Free42 - An HP-42S Calculator Simulator

저는 계산기를 좋아합니다. 이러한 성향은 저의 기초 산술 능력 부족에 기인하는 것일지도 모르겠네요. 아무튼 그 핑계로 계산기 하나를 또 소개 해드리려고 합니다.


Free42라는 이름의 계산기인데, Emu48이 HP 계산기의 ROM을 구동시켜주는 emulator라면 Free42는 HP-42 계산기와 동일하게 동작하도록 구현한 simulator입니다. 즉, HP-42 계산기의 ROM을 필요로 하지 않는다는 말이죠. 그렇기 때문에 emulator보다 빠릅니다. 그리고, 사용하기에 조금 더 편리합니다. (HP-42 계산기는 RPN 계산 방식을 사용하는데, 자세한 정보는 HP 계산기 박물관의 HP-42 페이지를 참고해주세요.)



Skin 기능을 사용해서 외관을 실제 HP-42 계산기와 매우 유사하게 설정을 할 수 있기 때문에 기능이나 인터페이스가 HP-42와 거의 동일하다고 보시면 됩니다. 또한 Windows, Linux, MacOS, Pocket PC, Palm 등의 다양한 플랫폼을 지원하기 때문에 desktop이나 휴대용 PDA 등에서 편리하게 사용할 수 있습니다.(제 Pocket PC 탑재 PDA에도 실려 있어요.)

공식 홈페이지는 다음과 같습니다.

LINK: http://thomasokken.com/free42/

2006년 10월 25일 수요일

XCALC - RPN Calculator



Windows에서 사용할 수 있는 무료 RPN(Reverse Polish Notation) 계산기입니다. RPN은 stack을 적극적으로 활용하는 방식으로 수식을 읽어가는 순서대로 입력할 수 있다는 장점이 있습니다.

예를 들어서 3 + 4 * 5 라는 식을 계산하고자 한다면, 일반 계산기에서는 연산자 우선 순위를 따져서 계산기를 사용하는 사람이 4, *, 5, +, 3, = 의 순으로 눌러야 합니다. (물론 메모리 기능을 사용하면 입력 순서를 바꾸지 않고도 어느 정도까지는 계산이 가능합니다만, 사실 이 메모리 기능이 RPN의 특징을 일부 도입한 것이 아닌가 생각됩니다.)

이 수식을 RPN 계산기에서 처리하고자 한다면, 3, Enter, 4, Enter, 5, *, + 의 순으로 입력합니다. '3에다 4와 5를 곱한 값을 더한다'라는 문장과 입력하는 순서가 일치하죠. 재미있지 않나요?

위 RPN 방식의 계산 순서에 대해 부연하자면, Enter는 register(입력 값 및 계산 결과가 표시되는 필드라고 생각하시면 편리합니다.)에 입력된 값을 stack에 push 하는 명령입니다. 그리고, +- 같은 연산자를 입력하게 되면 register의 값과 stack에서 pop한 값으로 연산한 뒤 다시 register에 쓰게 됩니다. 연산할 때 stack에서 pop한 값이 left operand가 되고 register의 값이 right operand가 됩니다.

이미 일반 계산기에 익숙한 상태에서 처음에는 RPN 방식이 조금 어렵게 느껴질 수도 있지만, 익숙해지면 정말 편리하고 강력하다는 것을 알게 됩니다.

XCALC의 공식 홈페이지는 다음과 같습니다.

LINK: http://www.tordivel.no/xcalc/

XCALC의 외관은 썩 이쁜 편이 아닙니다. 하지만, RPN 방식을 지원하는 계산기로서 웬만한 계산기들이 갖추고 있는 기능들은 모두 갖춘 작고 강력한 계산기입니다. 평소 쓸만한 RPN 계산기를 찾고 있었던 분이라면 XCALC를 권해 드리고 싶네요.

2006년 5월 2일 화요일

Emu48 - HP38/39/40/48/49 Emulator

수학이나 공학 혹은 과학과 아주 담 쌓고 살았던 게 아니라면 학교 다닐 때 전자 계산기 하나 쯤은 사용해보셨을 겁니다. 물론 그 계산기의 성능을 극대로 끌어올려서 사용하신 분들은 얼마 안될테지만, 그래도 계산기를 손에 들고 있을 때의 왠지 모를 그 뿌듯함이란...


(PC에서 Emu48로 HP-49 계산기 구동한 모습)
PDA 상에서 사용할 수 있는 공학용 계산기를 찾다가 우연히 발견하게 된 것인데, HP에서 만든 계산기의 ROM을 emulating 해주는 프로그램이 있더군요. Emu48이라는 놈인데, 이 emulator는 PC뿐만 아니라, PDA용으로도 이식이 되어 있어서 잘하면 비싼 공학용 계산기를 PDA나 PC에서 거저 사용할 수도 있을 것이란 생각이 들었습니다. 그리하여 또 다시 인터넷을 이리저리 헤집고 다녀서 몇 가지 ROM 파일을 구할 수 있었는데, 그 ROM 파일들은 HP에서 공개한 것이라고 하더군요.

(Pocket PC에서 Emu48로 HP-49 계산기 구동한 모습)
PC에서 가장 간편하게 사용할 수 있는 패키지는 아래 홈페이지에서 받으실 수 있습니다. (페이지를 보시면 긴 설명과 함께 여러가지 링크들이 나오는데, 다 무시하고 아래쪽에 있는 Download 링크만 누르면 원하는 것을 얻으실 수 있습니다.

LINK: http://www.educalc.net/881486.page

이 패키지 안에는 Emu48과 필요한 몇 가지 ROM 파일(HP 38G, HP 48G, HP 39G, HP 49G), 기본 설정 등이 함께 들어 있습니다. 그리고, 이 패키지에 포함된 Emu48은 조금 옛날 버전인데, 사용 상에는 별 지장이 없지만 왠지 최신 버전으로 교체하고 싶다는 욕구가 마구 솟구친다거나 PDA용 Emu48을 간절히 원한다면 Emu48 공식 홈페이지로 가서 최신 버전을 받으시면 됩니다.

LINK: http://hp.giesselink.com/emu48.htm

자, 그럼 HP에서 만든 공학용 계산기를 PDA와 내 PC 속으로 가져와 봅시다. 얼마나 유용하게 사용될지는 미지수지만서도.. ㅡㅡ^