M-x calc in Emacs is a very full-featured RPN calculator.
On Android, I use Droid48, a great HP48 emulator: https://play.google.com/store/apps/details?id=org.ab.x48 ; I also have RealCalc (https://play.google.com/store/apps/details?id=uk.co.nickfine...) installed, which I figured I'd use more due to the bigger buttons by default, but I still reach for Droid48 most often.
I use dc and bc on the command line. Some people have chided me saying the command line calculators aren't always accurate and are buggy, but I haven't seen any problems.
Interesting tidbit, it seems that dc is the oldest language on Unix; it was ported before even an assembler was. (https://en.wikipedia.org/wiki/Dc_%28computer_program%29#Hist...)
https://news.ycombinator.com/item?id=5054618
a couple of replies to my comment there about exponents. specifically.
"bc is a pretty misleading calculator, without specifying rounding it thinks 2^(40/1.5) is 67108864.
It's not even close.
If you trust your finances to that, you could get in trouble. "
Sadly, since dc doesn't have a math library, it looks like you can't use the "e" function workaround unless you implement it yourself.