dCalc - a calculator for the eBookMan
 

Contents:

Finder Home Page

Home
What is dCalc?
Whats new (v 2.02)
Features
Compatibility
Installation
Screenshots
Manual
Version History
Users Comments

Legal

SPECIAL OFFERS!!!
Buy dCalc,Clock and Stopwatch together and save $10

Buy clock, stopwatch and converter together and save $5.

Our other titles for the eBookMan:

This is a copy of the manual included with the program. It may help you decide that this is the product for you and it might be useful for reference.

CONTENTS:

  • Introduction
  • Screen help
  • Entering Numbers
  • Invoking dCalc functions
  • The Stack
  • RollDown
  • Exchange X
  • The registers
  • Main Modes
  • PRO Mode
  • Real Modes
  • SCI mode
  • FIN mode
  • Financial Example
  • STA mode
  • Converter
  • RPN mode
  • Overflow
  • Planned features
  • Version History
  • Support
  • License Agreement

Introduction

dCalc is a calculator very similar to the venerable line of calculators that HP has sold for the last 30 years or so.

It features:

  • Programming mode
  • Scientific mode
  • Financial mode
  • Statistics mode
  • RPN mode (HP-like)
  • Algebraic mode (TI or Casio-like)
dCalc operates on real numbers with Scientific, Statistics and Financial functions or 32-bit integers (for programmers).

The precision in Scientific, Financial and Statistics mode is the full precision of the hardware or about 15 significant places of decimals.

As well as the stack, which is always visible - a nice plus over an actual HP calculator - there are 10 integer and 10 real registers to store numbers.

Screen Help

If you are unsure what a particular key will do you can press the '?' key and then the key you want help for - a short message will give you a hint.

Entering Numbers

Just use the screen keys or the eBookMan handwriting system. In Real modes (FIN SCI & STA) you can use the decimal point and EXP key which allows you to enter powers of ten e.g. if you enter 1 EXP 5 you get 1.0x10^5 or 100,000.00

You can change the sign of your number with CHS

You can use BSP to backspace at any time.

You can use INV BSP to completely clear X.

You can use CLs (top left of screen - "AC" in algebraic mode) to completely clear the stack.

Invalid characters will be simply ignored.

In algebraic mode, the BSP key acts like the AC or C/CE key on conventional calculators but it allows finer control by just backspacing over your expression instead of clearing the whole thing.

Invoking dCalc functions

In RPN mode the appropriate function is simply executed immediately after pressing a button and it operates on the numbers that are in the stack - RPN is very simple. Algebraic mode is a bit more involved to explain but is very intuitive - just think of an algebraic expression written down on paper.

In algebraic mode the function keys allow an expression to be built up in X and then evaluated on pressing the equals (=) key. There are four types of key: immediate, functions, operators and constants.

Immediate keys (eg. HEX STO % PV) evaluate the current expression in X and execute as soon you tap them.

Functions (eg. SIN INT LOG) and Operators (eg. + AND d->r DYS) add the function name to X for later evaluation.

The difference is that functions use brackets (eg. SIN(30)) and act on a single value. Operators (eg. 4 XOR 2) sit between two values (or subexpressions).

A constant (e.g. PI e) is simply the symbolic value for a number.

If a calculation has just been made and an operator is pressed, then dCalc adds "ans" to X before the operator (eg. "ans DYS ") - you can then use the previous result (ans) in a new operation.

If you want to use the previous answer anywhere in an expression, just tap on it and it will be added to X.

Here is a full list:

  • Immediate: CLs/AC BSP % FMT CVT RAD B/E n i PV PMT FV STO RCL ST? CHS SUM SUM- mean std-dev N BIN OCT HEX ASC IP LR fx ?
  • Functions: SQRT INT FRC LOG LN SIN COS TAN snh csh tnh hms d->r PF
  • Operators: + - * / ^ ch% ! DYS r->p yPx yCx AND OR XOR NOT << >>
  • Constants: PI E TDY

Left and right brackets can be used to alter the order of calculation. dCalc will automatically add closing brackets to an expression to balance any opening brackets. eg. you can evaluate "SIN(30)" without putting in the closing bracket.

The Stack

Above the large numeric display (called X) there are four smaller displays labelled Y, Z, T and L which make up the stack.

L is simply the last X value - every time the number in X is used, it is stored into L. You can exchange X and L by simple tapping the L register..

The stack (Y, Z and T) is connected to X. Every time you do a calculation, the numbers in X, Y, Z and T propagate upwards. The number in Z moves to T, Y moves to Z and X is copied to Y. The number which was in T is forgotten.

In RPN mode, numbers move down the stack as they are consumed in X - e.g. if you tap + repeatedly, Y and X are added and put into X, Z moves down to Y and T is copied down to Z. Try it. You'll notice that the number in T stays put - it is copied when the stack is consumed at the bottom - this is really useful in repeated calculations.

In algebraic mode, the stack also allows you to use prior results - just click on the value you want to use.

There are other keys to manipulate the stack, mentioned elsewhere in this help.

RollDown

The Roll stack operator rotates the stack downwards:

T->Z
Z->Y
Y->X

X goes back up to T.

Exchange X

You can exchange X and any other number in the stack by tapping that number on the screen. In algebraic mode, clicking on a number in the stack pastes that number into X. Z T and L are pasted as the respective symbols. Y is pasted as "ans" which is short for "answer" - the answer to the last calculation.

The registers

There are 10 registers labelled 0-9. You can store X into a register by tapping STO. A menu of all the registers appears and you tap on the register you want to use. Recall from registers is done in the same way with the RCL key.

You can add, subtract, multiply and divide X to a register with ST? which pops up a menu for ST+, ST-, ST× and ST÷. e.g.

1 2 3 ST? + r3

adds 123.00 to the existing contents of r3.

Main Modes

There are 4 main modes - Scientific, Financial, Statistics and Programming.

The current mode appears on the top leftmost button - the mode button.

The first three of these modes operate on real (floating point) numbers. The fourth mode,programming mode, operates on 32-bit integers.

To change mode just tap on the mode button and a menu appears.

To change the number of decimal places displayed and the style of real numbers, use the FMT key. The choices of style are:

FIX - normal floating point e.g. 1,23.00

SCI - mantissa and exponent e.g. 1.23E2

ENG - as SCI but with exponent constrained to a multiple of 3 e.g. 0.123E3

PRO Mode

PRO mode can operate and display binary BIN, octal OCT, decimal DEC, hexadecimal HEX, Internet Protocol address IP and ascii ASC formats.

Ascii format shows the value of each byte as a printable glyph (a-z, A-Z, 0-9 etc) or as a control/alt keystroke following the usual programming practice e.g. ^-a means control a (decimal 1), a-b means alt-b which is 0x80 + 0x62.

Hex numbers are displayed with a leading 0x, octals with a leading 0.

IP address numbers are displayed as 4 decimal numbers in the range 0-255, corresponding to bits 0-7, 8-15, 16-23 and 24-31. The same bit manipulations can be made with IP numbers as for any other format eg.to calculate a subnet address using AND. The other arithmetic operations operate as before but are fairly meaningless on an IP address.

There is an indicator to the left of the message window showing the current display number base.

The usual binary operations are available including AND, OR, XOR, MOD, left/right shift << Y<X Y>x >>, complement ~.

The P-F key calculates the Prime Factors of X and puts the result in the message window at the top of the screen, eg. 1 2 3 P-F ... displays 3^2.41 since 369 = 3 x 3 x 41

Real Modes

"Real Modes" are Financial, Scientific and Stats modes.

Entering numbers should be fairly intuitive. For very large or small numbers, you can use exponent notation. For example, type:

1 EXP 15 CHS

for 1.0E-15. Notice that before the E is entered, the CHS button applies to the sign of the number. After E is put in, CHS applies to the sign of the exponent.

Angles for trig functions are normally expressed in decimal degrees, but a minor mode exists for radians - use the RAD key to toggle between radians and degree. There is an indicator to the left of the message window showing degrees or radians setting.

There is also an invert function INV which reverses the sense of some functions - for example, if INV is tapped before SIN then the arcsin function is called instead. Hopefully this is intuitive.

There is an indicator to the left of the message window showing the status of Invert.

In all real modes you have access to:
reciprocal1/X
X squared
Square root 
pipi
ee
X factorialX!
Y to the power of X 
Fractional part of XFRC
Integer part of XINT
Logarithm base 10LOG
Logarithm base e (natural)LN
X percent of Y%
percent change from Y to XCH%

SCI mode

The trig functions SIN, COS, TAN and their inverse functions are provided as well as the hyperbolics Sinh, Cosh and Tanh and their inverses..

hms converts a decimal hours into sexadecimal hours, minutes and seconds (or back if INV is pressed first). e.g., 2.56 hours converts to 2 hours 33 minutes and 36 seconds which is displayed as 2.3336.

The r>p button converts from rectangular coordinates to polar (or the inverse)

The d>r button converts from degrees to radians (or the inverse).

FIN mode

Compound interest and other financial calculations.

In these calculations we are interested in:

  • the present value
  • the interest
  • the number of periods
  • any regular payment
  • the final value
With any 4 of these values, we can calculate the fifth. E.g. if we are making an investment, we know the initial value, the interest, the number of compounding periods and the regular payment. We can then calculate the final value.

Similarly, in a mortgage, the debt, interest rate and the repayment period are known and we can calculate the monthly payments necessary to pay off the mortgage in the time given.

With all the financial functions, the method of data entry is optimised - if you type in a number and then press a Finance key (e.g. PMT) then dCalc stores that number. If you press a Finance key without entering a number, dCalc calculates that value. If you press a financial key and the number is entered instead of calculated, just press the key again to perform the calculation.

Finally, if you press INV before a function, the current value is retrieved to X. You can see all the current values at once by pressing RCL (and then Cancel to return to the calculator)

The finance calculations uses the registers as follows:
5N
6Interest
7Present Value
8Payment
9Future Value

The financial keys are:
nthe number of periods.
iinterest
PVPresent Value
FVfuture value
PMTpayment
×12X times 12
+12X divided by 12
B/EToggle annuity
INVinvert next key

Note that cash flows (PMT, FV, PV) are negative for payments..

The B/E button toggles between payments at the beginning of the first period ('annuity in advance' or hire purchase) and at the end of the first period ('annuity in arrears' or mortgage).

The DYS function allows you to calculate the number of days between 2 dates. The dates must be entered as YYYY.MMDD.

If prefixed by INV, DYS calculates the number of days between dates according to a nominal month of 30 days in a 360 day year.

The TDY key is a shortcut for today's date.

Financial Example

Let's invest $1000 for 3 years at 5% per annum paid monthly.

Tap in:

3 Enter ×12 ... 3 years is 36 months
1000 PV ... present value
5 Enter ÷12 i ... interest (5% per annum = 5/12 monthly)
0 PMT ... we are not making monthly payments
FV ... the final value is $1161.47

Another example: we have a $100,000 mortgage at 6% to be paid off completely after 20 years. What's the payment every month?

20 Enter ×12 n ... 20 years
6 Enter ÷12 i ... monthly interest
100000 PV ... present value
0 FV ... future value will be 0
PMT ... -716.43 per month.

Note the change of sign - the payment is a negative cash flow, and don't we know it!

The formula for these calculations is:

0=f+p(1+i)n + d((1+i)n - 1).(1+s.i) / i

where:
ffuture value
ppresent value
s1 for payment at start else 0
dpayment
iinterest

The calculation for i is done by a Newton-Raphson iteration so may take a few seconds and in some circumstances may not converge at all - dCalc will stop looping in a short time.

STA mode

Calculating sums, means and standard deviations is easy with these functions which operate on X and Y simultaneously. The S+ key adds the current values in X and Y into the sum and increments the counter. Just keep entering your values and the running total is kept.

The m key gives the averages (means) of the X and Y values respectively.

StdD gives the standard deviation of both X and Y (into the X and Y registers). StdD, d is given by:

d² = (S(x²) - S(x)²/n)/(n-1)

where S(x) means the sum of x values

n displays the count.

S- subtracts the current X and Y from the total (e.g. if you entered a value incorrectly).

The statistics registers are:
1correlation coefficient(r²)
2slope (after LR)
3y intersect (after LR)
4sum of Y
5sum of Y squared
6sum of XY
7Count (n)
8Sum of X
9Sum of X squared

X! computes the factorial.

yPx and yCx calculate permutations and combinations for x <= y. The integer part of x and y are used.

LR calculates a linear regression using the least squares method on the values input as (X, Y) pairs by Sum. A best fit straight line is presented as the slope m in the X register, and the Y intersect c in the Y register. The correlation coefficient r² is provided in Z - a value of r² closer to 1 means a good fit to a straight line. r² close to zero means a poor fit.

The best fit line is given by the formula

y = my + c

S(x) means the sum of x values:

Dx = n.S(x²) - (S(x))²

Dy = n.S(y²) - (S(y))²

m = (n.S(xy) - S(x).S(y))/Dx

c = (S(x²)S(y²) - S(x)S(xy))/Dx

r² = m.Dx/Dy

fx calculates a value for Y from X using the straight line calculated by LR. Use the INV function to calculate the X value for a given value of Y.

RPN Mode

RPN is an easier way to use a calculator than the algebraic method on so-called conventional calculators. It's just a shame that HP called it RPN, which means Reverse Polish Notation and that puts a lot of people off!

Think about how you do a sum on a piece of paper - that's how RPN works. You write down the first number and then you move down a line and write down the second number. Then you do the sum.

Now, let's do it on the RPN calculator. Write down the first number - tap the number keys. You can use the BSP (backspace) key to correct any mistakes.

When you've finished the first number, press the Enter key. That's the equivalent to moving down to the next line. Now tap out the second number. You can now see the first number above the second number. To do the sum, just press the '+' key. There's your answer.

Not so very awful after all, reverse whatsit or not!

Here's an example showing all the keystrokes:

2 5 3 Enter 34 + ... displays 287.00

If you want to do another sum on the answer, just tap in the new number and then the key for the operation, e.g. multiply.

2 x ... displays 574.00

You'll find that as you get used to RPN, you are able to complete calculations more quickly and with fewer keystrokes than with an algebraic calculator.

Converter

In real modes (FIN, SCI & STA) there is a units converter available under the CVT button. Conversions are possible in the following:
lengthmm, cm, m, km, in, feet, mile, nautical mile etc etc
areaacre, hectare, sq. m, sq. mm, sq. in., sq. foot etc etc
volumegallons, pints, litres, cu. m, cu. feet etc etc
masskg, pound, ton, tonne, gram etc etc
speedkph, mph. ft/s, m/s etc
fuel consumptionmpg, litres/100 km
pressureatmospheres, mmHg, pounds/sq.in., Pascals etc
temperaturecentigrade, Fahrenheit, Kelvin

When you press CVT the screen changes to the converter and the current value of X appears in the entry field at the bottom of the screen.

Now you can select the category of units from the menu at the top of the screen. If you press one of the buttons at the left of the screen all the conversions appear on the right.

If you tap on one of the values at the right of the screen, that value is pasted into the entry field at the bottom.

When you have the value that you want, press Done and the display reverts to dCalc with this new value in X.

For example, to convert 100m to yards, tap in

1 0 0 CVT

Now press the metres button at the left of the screen and you can see that 100m is 109.385 yards. Tap on the value 109.385 and it appears in the lower entry field. Now tap Done and the value 109.385 is in X.

If you don't want to return a value into the X register after the conversion, just tap on the X box in the top right hand corner of the converter window or press MENU and then Exit.

Converter help is available under the converter menu.

The converter is available as a stand-alone product for people who don't want the full capabilities of dCalc.

Overflow

It is quite possible for a calculation to overflow the calculator if it is too big or too small.

The limits for floating point numbers are (approximately):

Smallest: +-1.0E-323 Largest: +-1.79E308

Note that the precision of calculation decreases towards these extremes. A calculation which overflows results in a display of +Inf, -Inf or NaN for 'infinity' and 'not a number'.

For integers in programming mode the limits are the normal 32-bit limits:

Hex: 0x00000000 to 0xffffffff Dec: -2147483648 to +2147483647

If a calculation overflows in programming mode, nothing obvious happens - programmers expect to be able to do this!

Planned features

Features that might make it into future versions include:
  • Time (sexadecimal) functions
  • Date functions
  • Better help!
What do you want to see? Please email your suggestions to FinderPtyLtd@yahoo.com.au

Version History

  • 1.00 April 21st, 2001 - first release,
  • 1.01 June 30th, 2001 - Save settings & numbers at exit
  • 2.00 Nov XXth, 2001 - Algebraic mode

Support

Please report any bugs by email to FinderPtyLtd@yahoo.com.au - if you can reduce the problem to a simple set of repeatable steps, all the better.

License Agreement

The End User License Agreement (EULA) is a legal agreement between you and Finder Pty Ltd. By downloading or installing this SOFTWARE, you agree to be bound by the terms of this Agreement. If you do not agree to the terms of this Agreement, remove this SOFTWARE immediately.

END USER LICENSE AGREEMENT (EULA)

This license refers to any product which is distributed by Finder Pty Ltd.

GRANT OF LICENSE

This License Agreement (License) permits you to use one copy of this product, on one machines which may include user documentation provided in electronic form ('SOFTWARE'), providing it is for the sole, exclusive use of the registered user. The SOFTWARE is licensed as a single product. Its component parts may not be separated for use on more than one computer or by more than one user at any one time.

COPYRIGHT

The SOFTWARE (including any images and text incorporated into the product) is owned by Finder Pty Ltd or its suppliers and is protected by Australian copyright laws and international treaty provisions.

REVERSE TRANSLATION

The SOFTWARE, including all related program files may not be altered in any way. Reverse Translation is expressly forbidden without written permission of Finder Pty Ltd.

LIMITED WARRANTY

To the maximum extent permitted by applicable law, Finder Pty Ltd disclaims all warranties, either express or implied, including but not limited to warranties of merchantability and fitness for a particular purpose. In no event shall Finder Pty Ltd or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use or inability to use this Finder Pty Ltd product.

The SOFTWARE is supplied 'as is' and no advice or technical support is guaranteed from Finder Pty Ltd or any third party.

You can buy dCalc here: Franklin

This page last updated on Sat May 25 14:09:16 EST 2002

For corrections/additions/suggestions for this page, please send email to: FinderPtyLtd@yahoo.com.au

Copyright © 1997, 1998, 1999, 2000, 2001 The Finder Pty Ltd. All rights reserved.