Designer's Guide Community Calculator

The Designer's Guide Community Calculator is an RPN calculator designed for electrical engineers engaged in the design of electronic circuits. As such, it provides operations and constants useful to circuit designers. However, it also has several unique features that serve to distinguish it from other scientific calculators available on the web:
 Efficient command line entry.
 Entry and display of numbers with SI scale factors.
 Entry and display of integers in base 2, 8, 10, and 16 using Verilog format.
 Multistep undo.
 Compatibility with your computer's clipboard feature.
 Observable memories.
Return to calculator


Basic Operation 
RPN calculators use a stack for their calculations. The stack consists of 4 registers, x, y, z, and t, the contents of each is visible. Generally operations are performed on the contents of the x register, perhaps along with the contents of the y register, and saved in the x register. The z and t registers are used for temporary storage.
Example: 4 × 8
Enter 4 into the cmd field and use either the enter key (on the keyboard) or enter ↑ button (in the calculator) to store it into the x register.
Enter 8 into the cmd field and use either the enter key or enter ↑ to store it into the x register. Notice that this pushes 4 to the y register. Anything in the other registers would likewise be pushed up except for the contents of the t register, which is lost.
Now either enter a * into the cmd window and type enter on the keyboard or press enter ↑, or press the × button. This multiplies the contents of the x and y registers and places the result in the x register. The contents of the z and t registers are popped down and 0 is loaded into t.
Example: (4 × 8) + (3 × 5)
The product of 4 and 8 should already be in the x register from the last example.
Enter 3 and then enter 5. At this point 32 should be in the z register, 3 should be in the y register, and 5 should be in the x register.
Press the × to compute the product of 3 and 5. Now 32 will be in the y register and 15 in the x register.
Press the + to compute the sum.
It is possible to enter multiple commands in the cmd window. For example, the first example calculation could have been preformed by entering
4 8 *
into the command window and then type enter, or by entering
4 8
into the command window and pressing ×. It is possible to mix the use of the command line and the buttons. Activating a button causes the command line to be executed before the action associated with the button occurs.
Select operators can be entered without preceding them with a space if they follow a number or a constant. So the second example could be entered on one line with
4 8* 3 5* +
You copy numbers from the x register to and from the various memory registers using the small and buttons provided inside the memory register.
Hit the back button on your browser if you make a mistake.
Return to calculator


Entering and Displaying Numbers 
Real numbers are accepted in several different forms. For example, consider 1.3 × 10^{6}. It can be entered as:
0.0000013
1.3e6
1.3u
In the last example, the SI scale factor u is used to multiply the number given by 10^{6}. A complete list of all of the scale factors accepted for input is shown in the table on the right.
You may choose the manner in which real numbers are displayed. Again, 1.3 × 10^{6} is used as example to illustrate the various choices. You can also choose how many digits should be displayed. In these examples, the choice of digits is set to 2.
ENG 

1.26μ 

For most situations this is simplest and easiest to interpret format. 
FIX 

0.00 

Useful when working with currency. 
FLT 

1.26e6 

Useful when using the clipboard to copy results to another application. 
SCI 

1.26 × 10^{6} 

Pleasing to traditionalists. 
Example: 2 cos(2π 1MHz 125ns)
This example uses a trig function, and so it is important to assure the trig mode is set appropriately. To do so, type 'rads' and hit the enter key or use the mouse to select RADS from the trigonometry mode field.
Now click on 2π, enter 1M, click on ×, enter 125n, click on × again, then cos, enter 2, and finally click on ×.
Alternatively, you can use only the keyboard with
rads 2pi 1M* 125n* cos 2*
The result should be √2 or 1.414...
You may also enter binary, octal, decimal, and hexadecimal integers using the manner in which Verilog accepts these numbers. Consider the number 1000. It can be written as follows:
HEX 

'h3E8 
DEC 

'd1000 
OCT 

'o1750 
BIN 

'b1111101000 
You can enter a number in whatever base you like, but it is always displayed in the manner specified by the number format setting. Besides the settings already described for real numbers, there are also settings for integers: HEX, DEC, OCT, and BIN, for displaying numbers in hexadecimal, decimal, octal, and binary. HEX, OCT, and BIN represent negative numbers in twoscomplement. Also with these settings the number of digits requested sets the maximum number of digits displayed. If a number is larger than what can be displayed with the specified number of digits, then the most significant digits are suppressed.

SI scale factors accepted when entering numbers.
Multiplier 
Name 
Symbol 

Multiplier 
Name 
Symbol 
10^{24} 
yotta 
Y 

10^{3} 
milli 
m 
10^{21} 
zetta 
Z 

10^{6} 
micro 
u 
10^{18} 
exa 
E 

10^{9} 
nano 
n 
10^{15} 
peta 
P 

10^{12} 
pico 
p 
10^{12} 
tera 
T 

10^{15} 
femto 
f 
10^{9} 
giga 
G 

10^{18} 
atto 
a 
10^{6} 
mega 
M 

10^{21} 
zepto 
z 
10^{3} 
kilo 
K or k 

10^{24} 
yocto 
y 
SI scale factors used when displaying numbers.
Multiplier 
Name 
Symbol 

Multiplier 
Name 
Symbol 
10^{12} 
tera 
T 

10^{3} 
milli 
m 
10^{9} 
giga 
G 

10^{6} 
micro 
μ 
10^{6} 
mega 
M 

10^{9} 
nano 
n 
10^{3} 
kilo 
K 

10^{12} 
pico 
p 




10^{15} 
femto 
f 




10^{18} 
atto 
a 


Available Commands 
You may type one or more commands into the command window. Each command must be separated by one or more space, with the only exception that select operators, marked with an asterisk (*), may immediately follow numbers and constants without a space. The available commands are listed below. Notice that some commands are not associated with buttons.
Button 
Command 
Operation 
Description 
Comment 
Basic Operations 
+

+ 
add* 
x ← x + y 

−

 
subtract* 
x ← x − y 

×

* 
multiply* 
x ← x × y 

÷

/ 
divide* 
x ← x ÷ y 



 
parallel combination* 
x ← (x × y)/(x + y) 
computes the resistance of a pair of resistors in parallel or the capacitance of a pair of capacitors in series 
x^{2}

sqr, x2 
square 
x ← x^{2} 

√x

sqrt, rt, rtx 
square root 
x ← x^{1/2} 
x must not be negative 
1/x

recip, 1/x 
reciprocal 
x ← x^{−1} 
x must not be zero 
x!

!, fact 
factorial* 
x ← x! 
x must be nonnegative integer 

% 
percent* 
x ← x/100 × y 

%Δ

%chg 
percent change 
x ← 100(x − y)/y 
y must not be zero 

rms 
root mean square 
x ← (x^{2} + y^{2})^{1/2} 






Logarithms and Exponentiation 
ln x

ln, loge 
natural log 
x ← log_{e}(x) 
x must be positive 
e^{x}

exp, aln, aloge, etox 
exponential or e raised to x power 
x ← e^{x} 

log x

log, log10 
common log 
x ← log_{10}(x) 
x must be positive 
10^{x}

10tox, alog, alog10, exp10 
10 raised to x power 
x ← 10^{x} 


log2 
base 2 log 
x ← log_{2}(x) 
x must be positive 

2tox, alog2, exp2 
2 raised to x power 
x ← 2^{x} 

y^{x}

ytox, yx, pow 
y raised to x power 
x ← y^{x} 
y must be positive if x is not an integer 





Trigonometry 
DEGS

deg 
use degrees 


RADS

rad 
use radians 


sin x

sin 
sine 
x ← sin(x) 

sin^{−1} x

asin 
arc sine 
x ← sin^{−1}(x) 
−1 ≤ x ≤ 1 
cos x

cos 
cosine 
x ← cos(x) 

cos^{−1} x

acos 
arc cosine 
x ← cos^{−1}(x) 
−1 ≤ x ≤ 1 
tan x

tan 
tangent 
x ← tan(x) 

tan^{−1} x

atan 
arc tangent 
x ← tan^{−1}(x) 
−π/2 < x < π/2 
R → P

rtop 
rectangular coordinates to polar 
x ← (x^{2} + y^{2})^{1/2
}y ← tan^{−1}(y/x) 

P → R

ptor 
polar coordinates to rectangular 
x ← x cos(y)
y ← x sin(y) 

R → D

rtod 
radians to degrees 
x ← 180 x /π 

D → R

dtor 
degrees to radians 
x ← π x / 180 






Binary Operators 

~ 
Bitwise negation* 
x ← ~x 
x is rounded to an integer before performing operation 

& 
Bitwise and* 
x ← x & y 
x and y are rounded to integers before performing operation 

 
Bitwise or* 
x ← x  y 
x and y are rounded to integers before performing operation 

^ 
Bitwise exclusive or* 
x ← x ^ y 
x and y are rounded to integers before performing operation 





Constants 
π

pi 
π 
x ← 3.141592... 

2π

2pi 
2π 
x ← 6.283185... 

√2

rt2, sqrt2 
√2 
x ← 1.414214... 

q

q 
charge of an electron 
x ← 1.60217653×10^{−19} 
C 
k

k 
Boltzmann's constant 
x ← 1.3806505×10^{−23} 
J K^{−1} 
h

h 
Plank's constant 
x ← 6.6260693×10^{−34} 
J s 

G 
universal gravitational constant 
x ← 6.6742×10^{−11} 
m^{−3} kg^{−1} s^{−2} 
c

c 
speed of light 
x ← 299,792,458 
m/s 
0°C

0c, 0C 
zero degrees Celsius in Kelvin 
x ← 273.15 
K 
ε_{0}

eps0 
permittivity of free space 
x ← 8.854187817×10^{−12} 
F/m1 
μ_{0}

mu0, u0 
permeability of free space 
x ← 4×10^{−7} π; 
N/A^{2} 

rand 
uniformly distributed random number between 0 and 1 
x ← ? 






Unit Conversions 

ftoc 
convert temperature from Fahrenheit to Celsius 
x ← (x  32)/1.8 


ctof 
convert temperature from Celsius to Fahrenheit 
x ← 1.8x + 32 






Decibels 
→ dB_{20}

db20 
convert voltage or current ratio to dB 
x ← 20 log_{10}(x) 

dB_{20}→

adb20 
convert dB to voltage or current ratio 
x ← 10^{x}^{/20} 

→ dB_{10}

db10 
convert power ratio to dB 
x ← 10 log_{10}(x) 

dB_{10}→

adb10 
convert dB to power ratio 
x ← 10^{x}^{/10} 

v → dBm

vtodbm, vdbm 
convert peak voltage across R to power in dB relative to 1mW 
x ← 30 + 10 log(x^{2}/(2R)) 
Assumes sinusoidal signal. 
dBm → v

dbmtov, dbmv 
convert power in dB relative to 1mW to peak voltage across R 
x ← (2R 10^{(}^{x}^{−30)/10})^{−1/2} 
Assumes sinusoidal signal. 
i → dBm

itodbm, idbm 
convert peak current through R to power in dB relative to 1mW 
x ← 30 + 10 log(Rx^{2}/2) 
Assumes sinusoidal signal. 
dBm → i

dbmtoi, dbmi 
convert power in dB relative to 1mW to peak current through R 
x ← (2 10^{(}^{x}^{−30)/10}/R)^{−1/2} 
Assumes sinusoidal signal. 
R 
stor 
store R, the resistance used in dBm calculations 
R ← x 
R must be greater than 0. 
R 
rclr 
recall R, the resistance used in dBm calculations 
x ← R 






Stack Manipulations 
enter↑

ent, dup 
enter a number or run command, if nothing in cmd field push x onto stack again 


clr x

clx, clr, clrx 
pop x from stack 
x ← y
y ← z
z ← t



clstk, clrstk 
clear the stack 
x ← 0
y ← 0
z ← 0
t ← 0


chs

chs, chsx 
change sign of x 
x ← −x 

last x

lastx 
recall previous value of x 


R↑

ru 
roll stack upwards 
x ← t
y ← x
z ← y
t ← z


R↓

rd 
roll stack downwards 
x ← y
y ← z
z ← t
t ← x


x ↔ y

swap, xy 
swap x and y 
x ← y
y ← x


ξ 
stoξ 
store x intoξ 
ξ ← x 
ξ represents either register x, y, z, or t 
ξ 
rclξ 
recall ξ into x 
x←ξ 
ξ represents either register x, y, z, or t 





Memory Manipulations 
N 
stoN 
store x into N 
N ← x 
N represents memory 09 
N 
rclN 
recall N into x 
x ← N 
N represents memory 09 

clmem, clrmem 
clear all memories 

A button for this function is provided on the primary version of the calculator (the version for Firefox). It appears as a thin blue unlabeled bar above memory 0. 





Display 

eng, engN 
display number in engineering notation (ex. 25.4m) 

display N + 1 significant figures, 0 ≤ N ≤ 12 

fix, fixN 
display number with fixed precision (ex. 0.0254) 

display N digits to the right of the decimal point, 0 ≤ N ≤ 12 

flt, fltN 
display number in floating point notation (ex. 2.54e2) 

display N + 1 significant figures, 0 ≤ N ≤ 12 

sci, sciN 
display number in scientific notation (ex. 2.54×10^{−2}) 

display N + 1 significant figures, 0 ≤ N ≤ 12 

hex, hexN 
display numbers as hexadecimal integers (ex. 'hFF) 

display N digits, 0 ≤ N ≤ 8 

dec, decN 
display numbers a decimal integers (ex. 'd255) 

display N digits, 0 ≤ N ≤ 10 

oct, octN 
display numbers a octal integers (ex. 'o377) 

display N digits, 0 ≤ N ≤ 11 

bin, binN 
display numbers a binary integers (ex. 'b11111111) 

display N digits, 0 ≤ N ≤ 32 





Miscellaneous 
update

update, refresh 
update calculator to use new modes 


clr all

clall, clrall 
clear the entire calculator 


* These operators may immediately follow numbers or constants (no space is required).
Return to calculator


Errata 
11 Jan 2009

Added temperature unit conversions (ftoc, ctof). 
14 Feb 2007

Corrected error in negation operator (~).
Added RMS operation. 


Return to calculator 




