The latest version of this manual is available from our website http://www.futuredesktop.com/calc
The website has also some good screenshots.
This Math Calculator (or Scientific Calculator) is an easy to use calculator for the Android phone platform and other Android-based devices.
This amazing software calculator does
| + | Addition | 1 + 2 = 3. 70 + 4% = 72.8. 0xF1 + 0b101 = 0b11110110. |
| - | Substraction | 3 - 8 = -5. 60 - 5% = 57. 0o6 - 0o2 = 0o4 (octal). |
| * | Multiplication | 2 * 4 = 8. |
| / | Division | 9 / 2 = 4.5. |
| ^ | Power | 2^3 = 8. |
| \ | Modulus | 9 \ 4 = 1 (the reminder of 9/4). |
| -2e-3 * 1.2E3 | Use exponential, scientific notation for very small and large numbers. |
| A / 15.0 | Variables A - Z allowed. Use the [var] button to set/get the variables. |
| 0x8 - 0xA1 | Hexadecimal values. |
| 0o75 / 2 | 0o75 is an octal value. |
| 0b1001 + 0b101 | Binary values and bitwise math. |
| 5% OF 40. 2 IS 20% (of what?). 3 TO 8 (increase/decrease). 15 - 8% (reduce by %). 20 + 2% (increase by %). |
Smart percentage calculation with OF, IS and TO operators. |
| (2+3i)*(1-i) | Calculate with Complex numbers where i indicates the y-coordinate, the imaginary unit. Note that i = √-1. |
| 0x | 0x is a prefix for hexadecimal numbers. Hexadecimal numbers have radix, or base, of 16. Valid digits are 0 - 9, A - F. | 0xF1. |
| 0o | 0o is a prefix for octal numbers. The octal is the base-8 number system. Valid digits are 0 to 7. | 0o71. |
| 0b | 0b is a prefix for binary numbers. The binary or base-2 number system represents numeric values using 0 and 1. | 0b10001. |
| dec(x) | Convert x to a decimal (10-based) number. | dec(0xFF) = 255. |
| hex(x) | Convert x to a hexadecimal (16-based) number. | hex(165) = 0xA5. |
| oct(x) | Convert x to an octal (8-based) number. | oct(17) = 0o21. |
| bin(x) | Convert x to a binary (2-based) number. | bin(0xD) = 0b1101. |
The minimum and maximum numbers this calculator can process are -1.7E+307 and +1.7E+308. The lowest exponential limit is 1E-322.
Use the percent sign (%) to indicate percentage.
Slide the (lower) keypad so you get to the percentage keys with OF, IS, TO and % operators. You can also move the keypad with the [Next>] and [<Prev] buttons.
| x - y% | Reduce x by y%. | 60 - 10% = 54. 120 - 50% = 60. |
| x + y% | Increase x by y%. | 15 + 20% = 18. 7 + 50% = 10.5. |
| x OF y | How much is x of y? What is x of y? |
6 of 20 = 30%. 6% of 20 = 1.2. |
| x IS y% | What is x, y% of?. One of the arguments (either left or right side) must be in %. |
3 is 15% (of what) = 20. 15% is 3 (of what) = 20. |
| x TO y | How much is decrease (in %) from x to y? | 6 to 2 = 66.7% decrease. 10 to 5 = 50% decrease. |
| x TO y | How much is increase (in %) from x to y? | 2 to 6 = 200% increase. 5 to 6 = 20% increase. |
| perc(x) | Convert x to a percentage representation. Same as: x = x / 100.0 |
Please study the above examples. Percentage math is really easy and fun with this calculator.
| exp(x) | exp(x) = e^x, the exponential of x or e raised to x. e=2.71828183. |
| pow(x,y) | The x raised to the y'th exponent or power. Same as x^y. |
| sqrt(x) | The square root of number x. Same as x^(1/2). |
| √x | Same as sqrt(x). |
| cbrt(x) | The cube root (3'rd root) of number x. Same as x^(1/3). |
| rootx(x,y) | The x'th root of number y. Same as y^(1/x). |
| hyp(x,y) | The length of the hypotenuse c of a right-angled triangle. c = sqrt(x^2 + y^2). |
| fact(x) | The factorial denoted by x! or fact(x),is the product of all positive integers less than or equal to x. Eg. 4!=1*2*3*4=24. |
| x! | Same as fact(x). |
| ln(x) | Return the natural logarithm (base e) of x. |
| log(x) | Return the base 10 logarithm of value x. |
| logx(x,y) | Return the base x logarithm of value y. Same as log(y) / log(x). |
| mod(x, y) | Return the modulus (reminder) of division x/y. Same as the \ operator; mod(a,b) = a \ b. |
You can get a complete list of functions by pressing the [f(x)] button. Simply click a function name to set/return it to the display. Press the device's [Back] button to return to the main screen without doing nothing.
| sin(α) | The sine of an angle α. The angle α can be in radians, degrees or grads. (see the menu). |
| cos(α) | The cosine of an angle α. The angle α can be in radians, degrees or grads. (see the menu). |
| tan(α) | The tangent of an angle α. The angle α can be in radians, degrees or grads. (see the menu). |
| asin(α) | Arc sin(α), the inverse of the sin(α) function. |
| acos(α) | Arc cos(α), the inverse of the cos(α) function. |
| atan(α) | Arc tan(α), the inverse of the tan(α) function. |
| rad(α) | Convert angle α from degrees to radians. Radians=(degrees/180)*π. |
| gra(α) | Convert angle α from degrees grads. Grads=(100/90)*degrees. |
| deg(α) | Convert angle α from radians to degrees. Degrees=(radians*180)/π. Please see also the [Menu], [Angle Unit] setting. |
Press the [f(x)] button to see all trigonometric and hyperbolic functions.
The angle to the trigonometric functions can be in radians,
degrees or grads.
Press the device's [Menu] key to change the Angle Unit. Take a look at the picture.
The [Menu].
Learn more about trigonometric functions.
| sinh(α) | Hyperbolic sine of angle α. |
| cosh(α) | Hyperbolic cosine of angle α. |
| tanh(α) | Hyperbolic tangent of angle α. |
| asinh(α) | Arc sinh(α), hyperbolic arc sine. Inverse of sinh(α) function. |
| acosh(α) | Arc cosh(α), hyperbolic arc cosine. Inverse of cosh(α) function. |
| atanh(α) | Arc tanh(α), hyperbolic arc tangent. Inverse of tanh(α) function. |
Learn more about hyperbolic functions.
Hexadecimal values have prefix 0x, octal values have prefix 0o and binary (2-based) numbers have prefix 0b.
The upper keypad has a special collection of bitwise operators. Slide the upper-keypad to the left and you will see AND/NAND, OR/NOR, XOR/XNOR and NOT/NEG operators. It has also special keys for 0x, 0o and 0b numeral types.
Also the lower-keypad has some binary operators.
Slide the lower keypad or press the [Next>] button couple of times to get to the bitwise/logical keys with AND, OR, XOR and NOT operators.
For hexadecimal values, press the [shift] + [and] buttons to set in the hexadecimal prefix 0x. Then type any hexadecimal number using the numeric keys or [shift] + numeric keys.
Notice that the calculator's [shift] key has a long-click mode.
Long-click (or long-touch) will make it stay in the shift-modus which may help to type several hexadecimal (0x#), octal (0o#) and binary (0b#) numbers in one go. Long-click simply means that you press the [shift] slightly longer than usual.
If you mix several types of numeral systems in one calculation, then the output (the result value) will take format of the operand that has the highest rate.
The numeral systems are rated like this:
An example:
0xB1 + 0b101 + 6 = 0b10111100, is shown as binary numeral because binary numbers have higher rate than hexadecimal or 10-based decimal numbers.
Of course, you can convert it to any other numeral via dec(), hex(), bin() and oct() functions, or simply press the device's [Menu] key and select [Convert to] from the menu.
| and | (x and y). Performs AND operation on each pair of corresponding bits. In each pair, the result is 1 if both bits are 1, otherwise 0. You can also type (x & y). |
| nand | not (x and y). Performs NAND operation on each pair of corresponding bits. |
| or | (x or y). Performs OR operation on each pair of corresponding bits. In each pair, the result is 1 if one or both of the bits are 1, otherwise 0. You can also type (x | y). |
| nor | not (x or y). Performs NOR operation. |
| xor | (x xor y). Performs XOR operation on each pair of corresponding bits. In each pair, the result is 1 if the two bits are different, otherwise 0. |
| xnor | not (x xor y). Performs XNOR operation. |
| not | not x, the bitwise NOT or complement, is a unary operation that performs logical negation on each bit. Eg. not 0b1010 = 0b0101. not 13 = -14 decimal. |
| not(x) | Function form of NOT x. |
| neg | neg x, unary operation returns the two's complement of x. It complements each bit and ads 1. Same as not(x)+1. Eg. not 0b1010 = 0b0110. neg 13 = -13 decimal. |
| neg(x) | Function form of NEG x. |
| ~x | Same as (NOT x). |
| << | (x << y) shifts all bits of x, y times to the left. Eg. (0b101 << 2) = 0b10100 = 20 decimal. |
| >> | (x >> y) shifts all bits of x, y times to the right (signed form, retains the signedness). Eg. (0b1001110 >> 3) = 0b1001 = 9 decimal. |
| >>> | (x >>> y), unsigned form of right shift. Adds 0s in the leftmost position. Eg. (-78) >>> 3 = 536870902 decimal. |
| bin(x) | bin(x) converts x to binary (2-based) reperesentation. Eg. bin(12) = 0b1100. |
| dec(x) | dec(x) converts x to a decimal (10-based) number. Eg. dec(0b1100) = 12. |
| hex(x) | hex(x) converts x to a hexadecimal (16-based) number. Eg. hex(20) = 0x14. |
| oct(x) | oct(x) converts x to an octal (8-based) number. Eg. oct(20) = 0o24. |
Notice that the [Menu] -> [Settings] has a usefull options to determine how to display binary numbers. Look for the [Binary Numbers] item. If you activate it then the result of binary operations is extended to display all involved bits. Eg. 0b000101 XOR 0b110 is displayed as 0b000011 instead of 0b11.
Learn more about the bitwise operations here... and here...
Slide to the Complex keypad so you see the [polar] and [i] keys.
Complex numbers have format (a + bi) where a is the real and b is the imaginary part. The letter 'i' is used as imaginary unit.
| (a+bi)+(c+di) | Addition and subtraction of complex numbers. | (2+3i)+(1-i)= (3+2i) |
| (a+bi)-(c+di) | (2+3i)-(1-i)= (1+4i) |
|
| (a+bi)*(c+di) | Multiplication and division of complex numbers. | (2+3i)*(1-i)= (5+i) |
| (a+bi)/(c+di) | (2+3i)/(1-i)= (-0.5+2.5i) |
|
| (a+bi)^n | Raise (a+bi) to n'th potens. Same as pow(a+bi, n). | i^2= -1 |
| re(a+bi) | Real part of a complex number. | re(2+3i)= 2 |
| im(a+bi) | Imaginary part of a complex number. | im(2+3i)= 3 |
| mag(a+bi) | The absolute value (or modulus or magnitude) of a complex number. Mag(a+bi) = |a+bi| | mag(2+3i)= 3.61 |
| arg(a+bi) | Arg(a+bi)=θ. This is the argument, the angle θ of a complex number. The return value (θ) will be converted to radians, degrees or grads depending on the [Angle Unit] setting, as set in the menu. | arg(2+3i)= 56.31 degrees. or 0.98 radians. |
| sqrt(a+bi) | Square root of a complex number. | sqrt(2+3i)= (1.67+0.90i) |
| pow(a+bi, n) | Raise (a+bi) to n'th potens. Same as (a+bi)^n. | pow(2+3i, 4)= (-119-120i) |
| cbrt(a+bi) | Cube (3'rd) root of a complex number. | cbrt(2+3i)= (1.45+0.49i) |
| rootx(x, (a+bi)) | X'th root of a complex number. | rootx(3, (2+3i))= (1.45+0.49i) |
| cart(r, θ) | Convert from polar format to cartesian (c+di) format. cart(r, θ)=(a+bi). Note that this function takes two (2) arguments. The r denotes the Magnitude (absolute value or modulus) and the symbol θ represents the angle. Again, the angle θ is converted form [Angle Unit] to radians before calculation, as set in the menu. | cart(2, 45)= (1.41+1.41i) |
| polar(a+bi) | Convert from cartesian (a+bi) to polar (r, θ) format. The return value contains two (2) values; r and θ, separated by comma. r = |a+bi| = mag(a+bi), θ=atan2(b, a). The angle θ will be converted to radians, degrees or grads depending on the [Angle Unit] setting. | polar(1.41+1.41i)= ca. (2.0, 45). Here 45 is in degrees. |
| sin(a+bi) | The sine of (a+bi). The values are converted from [Angle Unit] to radians before calculation. | sin(10+20i)= (0.18+0.35i), from degrees. |
| cos(a+bi) | The cosine of (a+bi). The values are converted from [Angle Unit] to radians before calculation. | cos(10+20i)= (1.05-0.06i), from degrees. |
| tan(a+bi) | The tangent of (a+bi). The values are converted from [Angle Unit] to radians before calculation. | tan(10+20i)= (0.16+0.34i), from degrees. |
| asin(a+bi) | The inverse of sin(a+bi) function. The result is converted to [Angle Unit]. | asin(0.18+0.35i)= (9.77+19.94i), in degrees. |
| acos(a+bi) | The inverse of cos(a+bi) function. The result is converted to [Angle Unit]. | acos(1.05-0.06i)= (9.46+20.47i), in degrees. |
| atan(a+bi) | The inverse of tan(a+bi) function. The result is converted to [Angle Unit]. | atan(0.16+0.34i)= (10.22+19.67i), in degrees. |
| atan2(a+bi) | atan2(a+bi)=atan2(b, a), computes the angle θ corresponding to the coordinate point (a, b). The return value (-π < θ <= π radians) is converted to the [Angle Unit]. | atan2(2+3i)= 56.30 degrees |
| atan2r(a+bi) | atan2r(a+bi)=atan2r(b, a), computes the angle θ corresponding to the coordinate point (a, b). The returned value is in radians. | atan2r(2+3i)= 0.983 radians |
| sinh(a+bi) | Hyperbolic sine of a complex number a+bi. | sinh(2+3i)= (-3.59+0.53i) |
| cosh(a+bi) | Hyperbolic cosine of a complex number a+bi. | cosh(2+3i)= (-3.72+0.51i) |
| tanh(a+bi) | Hyperbolic tangent of a complex number a+bi. | tanh(2+3i)= (0.97-0.0i) |
| asinh(a+bi) | Inverse of hyperbolic sinh(a+bi) function. | asinh(2+3i)= (1.97+0.96i) |
| acosh(a+bi) | Inverse of hyperbolic cosh(a+bi) function. | acosh(2+3i)= (1.98+1.00i) |
| atanh(a+bi) | Inverse of hyperbolic tanh(a+bi) function. | atanh(2+3i)= (0.15+1.34i) |
| exp(a+bi) | exp(a+bi)=e^(a+bi), exponential of a complex number. exp(a+bi)=e^(a+bi), where e=2.71828183. | exp(2+3i)= (-7.32+1.04i) |
| ln(a+bi) | ln(a+bi), natural (e-based) logarithm of a complex number. | ln(2+3i)= (1.28+0.98i) |
| log10(a+bi) | log10(a+bi), 10-based logarithm of a complex number. | log10(2+3i)= (0.56+0.43i) |
| log(a+bi) | Same as log10(a+bi). | log(2+3i)= (0.56+0.43i) |
| log2(a+bi) | log2(a+bi), 2-based logarithm of a complex number. | log2(2+3i)= (1.85+1.42i) |
| logx(x, (a+bi)) | logx(x, a+bi), x-based logarithm of a complex number. | logx(2, 2+3i)= (1.85+1.42i) |
| neg(a+bi) | neg(a+bi)=(-a-bi), the negate of a complex number. | neg(2+3i)= (-2-3i) |
| inv(a+bi) | inv(a+bi)=(a/r, (-b/r)i), the inverse of a complex number. r=a²+b². | inv(2+3i)= (0.15-0.23i) |
| conj(a+bi) | conj(a+bi)=(a-bi), the conjugate of a complex number. | conj(2+3i)= (2-3i) |
Learn more about Complex numbers...
| avg(x1,,xn) | Avg(x1,x2,...xn) returns the average of x1...xn |
| max(x1,xn) | Max(x1,x2,...xn) returns the largest value of x1...xn. |
| min(x1,xn) | Min(x1,x2,...xn) returns the smallest value of x1...xn. |
| ceil(x) | Ceiling of x is the smallest integer not less than x. |
| floor(x) | Floor of x is the largest integer not greater than x. |
| round(x) | Round x to a closest integer upward. |
| abs(x) | Return the absolute positive value of x. |
| int(x) | Return integer part of x. No rounding done. |
| frac(x) | Return fractional part, fraction of the value x. |
| rand(x) | Return a random number y in the range 0 => y <= x. |
The calculator contains a list of some
Electromagnetic constants,
Atomic and nuclear constants,
Physico-chemical constants,
Plus some common mathematical constants.
| π | 3.1415927 | Pi or π, the ratio of circle's circumference to its diameter. |
| e | 2.7182818 | Napier's constant, or Euler's number, base of Natural logarithm. |
| √2 | 1.4142136 | Pythagoras' constant, square root of two. |
| √3 | 1.7320508 | Theodorus' constant, square root of three. |
| √5 | 2.2360680 | Square root of five. |
| cc | 299792458 | Speed of light in metres/second, Around 300 000 000 m/s (ca. 300 000 km/s or 186 000 miles/s). |
| G | 9.81 | m/s2 (32.2 ft/s2), The gravitational constant on the Earth. This value is between 9.78 and 9.82 m/s2, depending on the location/latitude. You can change the G's value in the variable list. |
| 1.6021764e-19 | C (Coulomb), Elementary charge of a proton (positive) or an electron (negative). | |
| h | 6.6260690e-34 | J·s, Planck constant h. |
| Ω | 0.5671433 | Omega constant. |
| γ | 0.5772157 | Euler-Mascheroni constant. |
You can see a complete list of constants by pressing the [f(x)] button/key. Then navigate to the [Constants] page.
Click a constant name to set it to the display, or press the device's [Back] button to return to the main screen without doing nothing.
Operators higher in the chart have a higher precedence, meaning that the calculator evaluates them first.
| () func() | parentheses and functions. 2 * (3 + 4) = 14. hyp(3,2) = 3.606. hex(12) = 0xC. | |
| Unary operators (right-to-left) | unary +, - | -5 + +6 = 1. |
| ! | factorial. 3 * 5! = 360. | |
| NOT, ~, NEG | NOT and ~ are the same. 3 + not 3 = -1. ~6 - neg 4 = -3. | |
| Binary operators (left-to-right) | ^ | power. 2^3 = 8. 2^~-3=4. |
| *, /, %, \ | 2 + 3 * 4 / 2 = 8. 16 - 5% = 15.2. 13 \ 4 = 1. | |
| +, - | addition and minus. 2 + 3 - 4 = 1. | |
| <<, >>, >>> | binary shift. 4 + 2 << 3 = 48. | |
| AND (&) | bitwise and operator. 0b1011 and 0b1101 = 0b1001. | |
| OR (|), NOR, XOR, NXOR | bitwise operators. 0b1011 xor 0b1101 = 0b0110. | |
| OF, IS, TO | percentage operators. 40 of 100 = 40%. 4 to 6 = 50% increase. 6 to 4 = 33.3% decrease. 10% is 20 (of what) = 200. | |
| Variable assigment | = | A=2e-3. k=sin(a)+cos(b) |
Expressions should be entered in a normal
Expressions can contain both numbers, constants and variables. Variables are pre-named from A to Z.
Press the [var] button to see, get and change the variables. The value from the display is transferred to the variable list.
Press the [f(x)] button to pick a function name or constant.
The variable list can save both numeric values and math expressions. Take a look at the following picture.
A = 30.5 is a pure numerical value.
B = sin(A) + cos(A) is a math statement, expression that refers to other variables.
Variables.
You can adjust the Font size in the Settings menu. Press the device's [Menu] button to see the Settings.
Font sizes from 25 to 30 will make the display readable even for poor sighted persons. Set it to 0 to use the device's default font and size.
Large font/text size. Here the font size is 28.
You may activate "The smart editor" in the [Settings] menu. It will automatically correct some obvious input errors.
For example if the display has a value "256" and you pick the function "sqrt(" from the function list, the smart editor will revert the operands so it displays "sqrt(256". This makes more sense than "256sqrt(".
The calculator can automatically add ending (missing) parentheses.
For example the statements "sqrt(16" and "sin(rad(30" are both valid. Just press the [Enter] key and the calculator will add all missing ")" for you.
The calculator can format the resulting value in several ways. You can change this in the [Settings] screen.
Press the device's [Menu] button, and click further to the [Settings]. In the settings, select the [Number format] item. You should see the following screen.
Under this item you can set the number of precision decimals the result is rounded up to. The default number of decimals is 5. Eg. with 5 decimals, the value 1.23456931 is rounded up to 1.23457.
Select this if you want to display accurate values near +/- 0.0. Eg. 0.00000012345 is shown as 1.23450E-7. This preserves the decimals in the result. The default value is Yes.
This determines whether to use scientific exponential notation (##E##) to display values.
Eg. 5'720'000'000 is diaplyed as 5.72E9. This is equal to 5.72 * 10^9.
The big
The factory setting is "Exponential if result outside boundary". See also the "Exponent boundary" option here below.
The default value is 1E12 (or 10^12). Values bigger or equal to this will be formatted using the exponential E notation.
The displayed value is formatted using a thousand separator (') for better readability. Eg. 123456789.87 becomes 123'456'789.87. The default value is Yes.
Expressions are saved in a list and you can easily reuse them or save the list to a disc. You may also send it away by email/SMS.
Press the big white button (at the very top, to the left) to see the saved math list.
Simply click on the line to return its value/expression to the display.
Embedded to the list (where you see a red push-pin) is also a secondary, fast speed calculator that you can use with a keyboard.
Press the red push-pin button to see the input field. This input field allows you to type your calculations using hard -or soft keyboards instead of numeric buttons. Some people prefers this method.
Secondary calculator with keyboard.
Using the keyboard, you can more easily type variable names (A - Z) and variable assignments, such as A = sin(30) + cos(60), and X = m * cc^2.
You can contact the developers by sending email to email@futuredesktop.com at Futuredesktop.com.
The main website http://www.futuredesktop.com
You are welcome!