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

= : Greater than or Equal to

= 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 == != > = 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)}

its like xp powercalc

Doesn’t do RPN.

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

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!