6.18. Kalkulator wykorzystujący notację RPN

Problem

Choć operacje konwersji liczb binarnych na dziesiętne, ósemkowe i szesnastkowe można wykonywać w pamięci, to jednak nie jest to najłatwiejsze zadanie. Można je oczywiście zrealizować za pomocą kalkulatora, ale nigdy nie ma go pod ręką. Co zrobić w takim przypadku?

Rozwiązanie

Można napisać kod kalkulatora, wykorzystując do tego celu operacje arytmetyczne powłoki oraz notację RPN:

#!/usr/bin/env bash # plik receptury: rpncalc # # Tekstowy kalkulator dla liczb całkowitych wykorzstujący notację RPN # # Parametry do obliczeń musą być zapisywane zgodnie # z formatem: a b op # zamiast operatora * można użyć znaku x # # sprawdzenie liczby parametrów: if [ \( $# -lt 3 \) -o \( $(($# % 2)) -eq 0 \) ] then ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.