Engineering Calculator is a lightweight, yet handy math expression evaluation and unit conversion utility that is always at your fingertips.
100% FREE award granted by Softpedia
Unzip the archive to you favourite folder and run "bin\EngCalc.exe".
Some of the default options can be changed by creating a short-cut and adding command-line options. Some of these options toggle, as opposed to set, so use them only once.
| Option | Action |
|---|---|
| Calculator | Start in Calculator mode, as opposed to converter mode |
| Normal | Start with Normal number format, instead of Engineering |
| Not-on-top | Start with "Always on top" disabled |
| Degrees | Start with Degrees instead of Radians |
| CommaDecimals | Start with comma-style decimal separator |
| RightSpace=X | Change the start-up position by specifying the distance from the right of the screen (X is some integer value, in pixels) |
| Digits=X | Change the start-up number of decimal significant figures (X is some integer value in the range 3 to 18) |
As an example, you could create a short-cut that runs "bin\EngCalc.exe calculator normal not-on-top rightspace=200", which will start Engineering Calculator in calculator mode, with normal form answers, not always on top and 200 pixels from the right of the screen.
Converter.xml stores all the conversion formulae. Each conversion is an entity "Conversion" with attributes "From" (the "from" unit), "To" (the "to" unit) and "Formula" (the conversion formula in terms of 'x'). All three attributes must be present for the conversion to be valid.
The idea is that the user can use the given conversion file as a starting point to build his / her own conversion library. Please feel free to post your conversions on the discussions page (in the form of an XML file), so that other users can also benefit.
Please note that Converter.xml supports only the UTF-8 encoding.
Right-click near the '=' sign, or on the tray icon, for a pop-up menu. This menu can change various modes and provides the key-board shortcuts.
The window can be dragged to where you want it by dragging close to the '=' sign.
Evaluation is performed in the normal mathematical order (brackets -> functions -> multiply and divide -> add and subtract -> logical operators).
All space and tab characters are ignored, even those within numbers.
Operators are used in the form 'A op B', where 'A' and 'B' are numbers, or formulae themselves.
| Operator | Meaning |
|---|---|
+ |
Add |
- |
Subtract |
* |
Multiply |
/ |
Divide |
% |
Remainder (modulus) after division |
rem |
Same as '%' |
^ |
Raise to the power of |
> |
Greater than |
>= |
Greater than or equal to |
< |
Less than |
<= |
Less than or equal to |
= |
Equal |
~= |
Not equal |
& |
Logical and |
| |
Logical or (vertical bar) |
: |
Logical exclusive or |
and |
bit-wise and |
or |
bit-wise or |
xor |
bit-wise exclusive or |
For interest sake, the formula evaluation library is also used for drawing graphs in another application, where the logical operators are used to define piece-wise functions.
Functions are used either in the form 'funcA', where A is a number, or 'func(A)' where 'A' is a number or formula.
| Function | Meaning |
|---|---|
- |
Negate |
~ |
Logical not |
not |
Bit-wise not |
log |
Logarithm to base 10 |
lb |
Logarithm to base 2 |
ln |
Logarithm to base e |
abs |
Absolute value |
round |
Round |
fix |
Drops the part after the decimal point |
floor |
Floor |
ceil |
Ceiling |
rand |
Uniform random number between 0 and the number specified |
sin |
Sine |
asin |
Arcsine |
cos |
Cosine |
acos |
Arccosine |
tan |
Tangent |
atan |
Arctangent |
sec |
Sec |
asec |
Arcsec |
cosec |
Cosec |
acosec |
Arccosec |
cot |
Cotangent |
acot |
Arccotangent |
sinh |
Hyperbolic sine |
asin |
Hyperbolic arcsine |
cosh |
Hyperbolic cosine |
acosh |
Hyperbolic arccosine |
tanh |
Hyperbolic tangent |
atanh |
Hyperbolic arctangent |
sech |
Hyperbolic sec |
asech |
Hyperbolic arcsec |
cosech |
Hyperbolic cosec |
acosech |
Hyperbolic arccosec |
coth |
Hyperbolic cotangent |
acoth |
Hyperbolic arccotangent |
| Function | Meaning |
|---|---|
| (A) | Evaluate 'A' first, then use the answer in subsequent evaluation steps. |
| A! | 'A' faculty |
| [A]B | if 'A' is true, evaluate B, otherwise search for the next '[' and repeat. |
| d(A)dx | Perform symbolic differentiation of 'A' with respect to 'x'. In this application it would only make sense as part of a conversion formula, as 'x' will always take the value of 0 when used in the calculator. |
All constants are in SI units.
| Constant | Meaning |
|---|---|
| e | Natural base |
| pi | π |
| \c | Speed of light |
| \cAir | Speed of light in air |
| \G | Gravitational constant |
| \g | Gravitational acceleration of the earth |
| \me | Electron mass |
| \mp | Proton mass |
| \mn | Neutron mass |
| \u | Atomic mass constant |
| \e | Electron charge (positive) |
| \h | Planck constant |
| \k | Boltzmann constant |
| \mu | Permeability of free space |
| \epsilon | Permittivity of free space |
| \Phi | Fluxon |
| \NA | Avogadro's number |
| \R | Gas constant |
| \rhoAl | Resistivity of aluminium |
| \rhoCu | Resistivity of copper |
| \F | Faraday's constant |
| \AU | Astronomical unit |
| \pc | Parsec |
| \mil | 1 mil (25.4 micron) |
If you'd like to have more constants, post a suggestion in the "General Discussion" forum.
If you have any ideas, please do not hesitate to post them on the discussions page.
I often upload the same version more than once, with subsequent uploads incorporating some minor bug-fixes. The file time-stamp can be used as an indication of version, but the build time-stamp, available in the "About" box, is more accurate.
The source is available from the git repository and GitHub.
Please contact me if you are enthusiastic enough to have ported the project to Mac OS X, Linux or your favourite operating system. I'd like to post the ported versions.