A powerful calculator.
Basic Operations:
Input expression, press ENTER or click the C button.
Press ESC to clear the input text.
Press UP/DOWN to select history input.
Click the result number to put it to input text.
Numbers:
Decimal by default.
Prefix 0b for binary.
Prefix 0x for hex.
Underscore _ can be in a number ( exp. 10_000 ).
Strings:
Single/double quoted like 'abc' "str"
Use "\" to escape special characters, like
\' single quotation mark
\" double quotation mark
\\ reverse solidus
\/ solidus
\n newline
\t horizontal tab
\u???? 4 hex digits to represent a unicode char.
\b *backspace
\f *formfeed
\r *carriage return
* Those characters are not displayed in the screen.
NOTE
Actually it uses JSON's string format with additional "\'".
You must follow its syntax or get an error.
For more information you can visit http://json.org/
Currently supported operators
Basic:
+ : Plus (+)
- : Minus (−)
* : Times (×)
/ : Divide (÷)
% : Module
Extanded:
** : Power
// : Integer Divide
*/ : N-Power's Root: a */ b == a ** (1/b)
Bitwise (integers only):
~ : Bitwise NOT
& : Bitwise AND
| : Bitwise OR
^ : Bitwise XOR
Logical (true = 1, false = 0):
! : Logical NOT
&& : Logical AND
|| : Logical OR
Relational (true = 1, false = 0):
== : Equal
!= : Not equal
> : Greater than
< : Less than
>= : Greater than or Equal to
<= : Less than or Equal to
Quest (lazy version):
condition ? true value : false value
for exp.
1 >= 2 ? 10 : 20 => 20
1 ? 2 ? 3 : 4 : 5 ? 6 : 7 = 1 ? (2 ? 3 : 4) : (5 ? 6 : 7)
Operator Orders
Use ( and ) to promote orders.
1 ** */
2 * / % //
3 + -
4 ~ & | ^
5 ! && ||
6 == != > < >= <=
7 ? :
Variable, Constants and Functions
Assign Variable:
= a = ...
a = b = 3 => a = (b = 3)
a = 1 + (b = 2) => a = 3, b = 2
[*] A variable could be assigned to a function.
Constants:
E: 2.7182818...
PI: 3.1415926...
Functions:
abs: absolute value
ln: log based on E
lg lg10 log10: log based on 10
lg2 log2: log based on 2
log: log(number, base)
sin, cos, tan/tg, ctan/ctg: Triangle functions
ord/chr: convert between char and code.
signed/unsigned: convert interger to signed/unsigned.
Infix/Postfix Notation
Infix (shortcut Ctrl+I):
#{IN: 1+2}
#{IN: 9*8-7/6}
Postfix (shortcut Ctrl+R):
#{RPN: 1 2 +}
#{RPN: 9 8 * 7 6 / -}
Mix up:
#{RPN: 1 #{IN: 2+3} +}
#{IN: 2+#{RPN: 9 8 * 7 6 / -}}
Postfix Notation Syntax
Operators:
Unary:
~ #{RPN: 1 ~}
! #{RPN: 0 !}
Not supported for conflict reason:
+ -
( Should use 0 and binary operators like #{RPN: 0 1 -} )
Binary:
All supported. e.g.
#{IN: 6*7+8/(9-5)} equals to #{RPN: 6 7 * 8 9 5 - / +}
Trinary:
#{IN: a ? b : c} equals to #{RPN: a b c ?} . No colon(:)
Whitespaces and Commas
Whitespaces are not necessary while no conflict. For ins.,
#{RPN: 6 7 * 8 9 5 - / +} could be #{RPN:6 7*8 9 5-/+}
Comma(,)s are ignored in RPN mode. So you can use them instead of whitespaces. For exp.,
#{RPN:6 7*8 9 5-/+} could be #{RPN:6,7*,8,9 5,-,/,,+}
Function call:
fn(args...) equals to (args... fn), but no comma(,)s joined into the arguments.
e.g.
#{IN: log(n, b) } equals to #{RPN: ( n b log ) }
#{IN: ord(c)} equals to #{RPN: (c ord) }
#{IN: log(8**4, 6-2)} equals to #{RPN:(8 4**,6 2-,log)}
Latest reviews
- (2018-01-24) mohammad reza zare: its like xp powercalc
- (2017-09-13) Jeff Martens: Doesn't do RPN.
- (2016-12-31) Maui- Maui: It's a nice application it works like bc -l. It works just in radiant instead deg and grad and as I can see isn't possible to change this setting. there is a useful resume key as well. But it could be better if with a clic on a button I can put out a keyboard where I can find functions like sin cos tan x^y sqrt and so on
- (2015-03-24) Bill Who: On a computer I like to simply type my calculation/equation directly into a text box and get a result. eCalculator does that and more. I do not like calculators on computers that try emulate discrete calculators, you know just to look like some old TI, with buttons that are usually to small to click. For programmers, it does decimal, binary and hex, math and conversion, as well logical functions. Input can be in either infix (algebraic) or postfix (RPN) notation. Or get this... a mix of both. I have no idea why one would use that, I am a postfix calculator user. If you make a syntax error, eCalculator has good error reporting and good help. eCalculator starts quick, looks good, and the author is very responsive. Initially eCalculator only had infix notation, I asked for the postfix option and to my surprise within a week it was working!